我已经尝试过寻找这个,我无法找到答案,部分原因是因为很难找到">"字符,也因为PowerShell中的提示使用该字符。
我有一个效果很好的例子,但我不知道这条线路到底在做什么:
New-Item $tempCmd -Force -Type file > $null
我得到了New-Item调用及其参数,但是"> $空"干得好吗?具体而言,">"在这个声明中发挥作用?
答案 0 :(得分:5)
>
字符确实输出重定向。
在an example中,似乎就像通过将输出重定向到null来抑制输出一样。
答案 1 :(得分:1)
Microsoft已发布PowerShell 2.0和PowerShell 3.0的语言规范。
从3.0版开始:
重定向运算符>获取管道的标准输出并将其重定向到redirected-file-name指定的位置,覆盖该位置的当前内容。
您的示例具有空文件名,因此输出无处可去。
正如nochkin所说,人们通常这样做是为了阻止命令产生输出。默认情况下,New-Item会将有关新项目的元数据输出到主机。
为了以更易读的方式实现同样的目的,您可以将输出传递给Out-Null
。
New-Item $tempCmd -Force -Type file | Out-Null
来自文档:
删除输出而不是将其发送到管道。