Powershell 静默 mkdir

Powershell 静默 mkdir

有没有办法在 powershell 中使用 mkdir (又名 md) 而不显示详细输出?目前,输出如下:

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。

答案1

PetSerAl 是正确的,SimonS 的补充
Out-Null是最好的选择,但正如 SimonS 所说,> $null它更快

答案2

再补充一个解决方案:mkdir返回一个对象,如果我只是执行下面的代码,则没有任何输出。此外,$dir如果需要,我可以使用它来制作自己的输出

$dir = mkdir c:\foo\bar

顺便说一句,我已经测试了这个 PowerShell 版本

PS> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      15063  1155

答案3

创建一个函数

function silentMkdir { $sink = mkdir $args }

在当前 shell 中创建一个仅使用该函数的别名

Set-Alias -Name mkdir -Value silentMkdir -Scope Private

附言:我是 Powershell 新手,但这似乎有效。没有 mkdir 的话,-Scope Private从此 shell 调用的脚本将会更改。有了-Scope Private这个,这个问题似乎就消失了。

相关内容