在pipleline中使用%运算符

时间:2018-04-05 17:57:01

标签: powershell

我在互联网上遇到了一个使用'%'操作员以我以前没见过的方式。

对于我的生活,我可以找到任何描述'%'运算符的目的在于脚本。

这是一个人为的例子。

Get-ChildItem -Path $env:windir | % { Write-Host $_.FullName }

任何人都可以向我指出有关使用'%'操作

3 个答案:

答案 0 :(得分:3)

根据this blog post,使用Get-Alias ?查看所有单字符别名。

最常见的是

  • % - ForEach-Object
  • ? - Where-Object

如果您正在编写脚本,最好使用完整的术语,以便其他人(甚至将来自己)更具可读性。 PowerShell具有标签完整功能;例如,for<tab><tab>会产生ForEach-Object

答案 1 :(得分:1)

是的,它是Alias的{​​{1}}。您可以使用以下代码段来检查ForEach-Object

alias

这会产生以下输出:

Get-Alias | where-object {$_.Definition -eq 'Foreach-Object'} 

这意味着Alias % -> ForEach-Object Alias foreach -> ForEach-Object %的{​​{1}}(alias只是管道中Foreach-Object的{​​{1}}, @EBGreen指出)

  

关于这个问题我唯一可以解释的文件就是这个:https://ss64.com/ps/foreach-object.html

答案 2 :(得分:0)

百分比运算符是ForEach-Object(或ForEach)的简写。如果您需要文档证明,请尝试...

Get-Help %