スプラッティングについて
スプラッティングとは、パラメーター値のコレクションを1つの単位としてコマンドに渡す方法。 PowerShell は、コマンドパラメーターを使用して、コレクション内の各値を関連付けます。 Splatted パラメーターの値は、標準の変数と同じように、名前付きのスプラッティング変数に格納されますが、ドル記号 ($) ではなくアットマーク (@) で始まります。 アットマーク (@) 、単一の値ではなく、値のコレクションを渡すことを PowerShell に指示します。
スプラッティングを使用すると、コマンドが短く、読みやすくなります。 さまざまなコマンド呼び出しでスプラッティング値を再利用し、スプラッティングを使用して、 $PSBoundParameters
自動変数から他のスクリプトや関数にパラメーター値を渡すことができます。
Windows PowerShell 3.0 以降では、スプラッティングを使用してコマンドのすべてのパラメーターを表すこともできます。
スプラッティングについて – PowerShell | Microsoft Docs より
スプラッティングを使うと、引数が長くて読みにくいコマンドを読みやすくする(可読性を高める)ことができる。
具体例(HashTable方式)
ハッシュテーブルの構文で、パラメーターの名前と値のペアを指定する。
1 2 3 4 5 6 7 |
$param = @{ Path = "c:\" Depth = 1 Recurse = $true } Get-ChildItem @param |
Recurseのような、値なしパラメータ(スイッチパラメータ)には$Trueを指定する。
これは、以下の1ライナーで記載した場合と等価になっている。
1 |
Get-ChildItem -Path "c:\" -Depth 1 -Recurse |
ファイル一覧を取得する場合、ファイルサーバ上のとあるフォルダがとても深くて長い場合も多い。
そんな時、1ライナーで、コマンドを作成すると可読性が悪く、メンテンナスもしずらい。
そんな時、スプラッティングを活用すると、読みやすいコードが作成できる。
コメント