什么是“>” PowerShell中的运算符?

时间:2014-06-20 18:45:36

标签: powershell

我已经尝试过寻找这个,我无法找到答案,部分原因是因为很难找到">"字符,也因为PowerShell中的提示使用该字符。

我有一个效果很好的例子,但我不知道这条线路到底在做什么:

New-Item $tempCmd -Force -Type file > $null

我得到了New-Item调用及其参数,但是"> $空"干得好吗?具体而言,">"在这个声明中发挥作用?

2 个答案:

答案 0 :(得分:5)

>字符确实输出重定向。 在an example中,似乎就像通过将输出重定向到null来抑制输出一样。

答案 1 :(得分:1)

Microsoft已发布PowerShell 2.0PowerShell 3.0的语言规范。

从3.0版开始:

  

重定向运算符>获取管道的标准输出并将其重定向到redirected-file-name指定的位置,覆盖该位置的当前内容。

您的示例具有空文件名,因此输出无处可去。

正如nochkin所说,人们通常这样做是为了阻止命令产生输出。默认情况下,New-Item会将有关新项目的元数据输出到主机。

为了以更易读的方式实现同​​样的目的,您可以将输出传递给Out-Null

New-Item $tempCmd -Force -Type file | Out-Null

来自文档:

  

删除输出而不是将其发送到管道。