Powershell тихий мкдир

9

Есть ли способ использовать 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.


источник
4
Как насчет | Out-Null?
PetSerAl
В каком контексте вы хотите, чтобы это было тихо? Просто в определенном месте в сценарии или всегда?
Сет
PetSerAl - это работает. Он также сохраняет ошибки (по крайней мере, он не перенаправляет stderr на
Сет - Просто в интерактивном использовании. Это не серьезная проблема, но я обнаружил, что подробный вывод делает чтение предыдущих команд более трудным, особенно в том, что он заставляет меня прокручивать окно командной строки вверх, чем мне было бы иначе.
2
mkdir | out-null, mkdir > $null, $null = mkdir, [void]mkdirВаши варианты, я всегда использую , > $nullпотому что это быстрее , чем | out-null- см это для справки stackoverflow.com/questions/5260125/...
Simons

Ответы:

9

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

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

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

$dir = mkdir c:\foo\bar

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

PS> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      15063  1155
JiBéDoublevé
источник