Powershell тихий мкдир

5577

Есть ли способ использовать mkdir (он же md) в powershell без подробного вывода? В настоящее время вывод выглядит следующим образом:

PS C:\Users\myusername> mkdir foobar   Directory: C:\Users\myusername   Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2016-12-07 9:35 AM foobar PS C:\Users\myusername> 

Если нет сообщения об ошибке, я бы хотел, чтобы она молчала, как в

PS C:\Users\myusername> mkdir foobar PS C:\Users\myusername> 

Есть ли способ сделать это? Я использую Powershell версии 2.

6
Как насчет `| Из-Null`? PetSerAl 7 лет назад 4
В каком контексте вы хотите, чтобы это было тихо? Просто в определенном месте в сценарии или всегда? Seth 7 лет назад 0
PetSerAl - это работает. Он также сохраняет ошибки (по крайней мере, он не перенаправляет stderr на ноль) 7 лет назад 0
Сет - Просто в интерактивном использовании. Это не серьезная проблема, но я обнаружил, что подробный вывод делает чтение предыдущих команд более трудным, особенно в том, что он заставляет меня прокручивать окно командной строки вверх, чем мне было бы необходимо в противном случае. 7 лет назад 0
`mkdir | out-null`, `mkdir> $ null`,` $ null = mkdir`, `[void] mkdir` - ваши варианты, я всегда использую`> $ null`, потому что он быстрее, чем `| out-null` - см. это для справки http://stackoverflow.com/questions/5260125/whats-the-better-cleaner-way-to-ignore-output-in-powershell SimonS 7 лет назад 1

2 ответа на вопрос

6
Lachie White

PetSerAl правильный, добавленный SimonS
Out-Null- ваша лучшая ставка, но, как сказал SimonS, > $nullбыстрее

Спасибо! Я бы пометил ответ PetSerAl как правильный, но так как я не могу, он получает похвалу. 7 лет назад 0
Нет, не работает в PS для победы 10. FizxMike 6 лет назад 0
Вместо этого кажется, что это происходит молча: [system.io.directory] :: CreateDirectory ("C: \ test") FizxMike 6 лет назад 0
@FizxMike Извините, только что видел это, работает для меня на регулярной основе на Windows 10. Lachie White 5 лет назад 0
0
JiBéDoublevé

Просто чтобы добавить другое решение: mkdirвозвращает объект, и если я просто выполню код ниже, у меня нет вывода. Более того, я могу использовать, $dirчтобы сделать свой собственный вывод, если это необходимо

$dir = mkdir c:\foo\bar 

Как примечание, я протестировал эту версию PowerShell

PS> $PSVersionTable.PSVersion  Major Minor Build Revision ----- ----- ----- -------- 5 1 15063 1155