有没有办法在 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
这个,这个问题似乎就消失了。