1. ホーム
  2. powershell

[解決済み] PowerShellで"%"(パーセント)は何をするのですか?

2022-02-14 13:33:41

質問

は、パイプラインの後にスクリプトブロックが開始されるようですが スクリプトブロックについて は必要ないことを示しています。

これらはすべて問題なく動作します。

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