about_Script_Blocks は%が不要であることを示しますが、%操作はパイプラインの後にスクリプトブロックを開始するようです。
これらはすべて正常に機能します。
get-childitem | %{ write-Host $_.Name }
{ write-Host 'hello' }
%{ write-Host 'hello' }
しかし、パイプラインの後にスクリプトブロックを追加する場合は、最初に%が必要です。
get-childitem | { write-Host $_.Name }
コマンドレットのコンテキスト(例など)で使用される場合、ForEach-Object
のエイリアスになります。
> Get-Alias -Definition ForEach-Object
CommandType Name Definition
----------- ---- ----------
Alias % ForEach-Object
Alias foreach ForEach-Object
方程式のコンテキストで使用される場合、 モジュラス演算子 です。
> 11 % 5
1
モジュラス演算子として、%
は 代入演算子 (%=
)でも使用できます。
> $this = 11
> $this %= 5
> $this
1
投稿 PowerShell-特殊文字とトークン
%を含む複数のシンボルの説明を提供します
% (percentage)
1. Shortcut to foreach.
Task: Print all items in a collection.
Solution.
... | % { Write-Host $_ }
2. Remainder of division, same as Mod in VB.
Example:
5 % 2
%はGet-ChildItem |
ForEach-Object
{ write-Host $_.Name }
を置き換えることができ、%
またはForEach-Object
なしでは行けません