スプラッティングについて
スプラッティングとは、パラメーター値のコレクションを1つの単位としてコマンドに渡す方法です。PowerShellは、コマンドパラメーターを使用して、コレクション内の各値を関連付けます。スプラッティングパラメーターの値は、標準の変数と同様に名前付きのスプラッティング変数に格納されますが、ドル記号($)ではなくアットマーク(@)で始まります。アットマーク(@)は、単一の値ではなく、値のコレクションを渡すことをPowerShellに指示します。
スプラッティングを使用すると、コマンドが短く、読みやすくなります。さまざまなコマンド呼び出しでスプラッティング値を再利用し、スプラッティングを使用して、$PSBoundParameters自動変数から他のスクリプトや関数にパラメーター値を渡すことができます。
Windows PowerShell 3.0 以降では、スプラッティングを使用してコマンドのすべてのパラメーターを表すこともできます。
スプラッティングについて – PowerShell | Microsoft Learn より
スプラッティングを使うと、引数が長くて読みにくいコマンドを読みやすくする(可読性を高める)ことができる。
具体例(HashTable方式)
ハッシュテーブルの構文で、パラメーターの名前と値のペアを指定する。
$param = @{
Path = "c:\"
Depth = 1
Recurse = $true
}
Get-ChildItem @param
Recurse のような値なしパラメータ(スイッチパラメータ)には $true を指定する。
これは、以下の1ライナーで記載した場合と等価になっている。
Get-ChildItem -Path "c:\" -Depth 1 -Recurse
ファイル一覧を取得する場合、ファイルサーバー上の特定のフォルダー階層が非常に深くて長くなる場合も多い。
そんな時、1ライナーでコマンドを作成すると可読性が悪く、メンテナンスもしづらい。
スプラッティングを活用すると、このように読みやすいコードが作成できる。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 変更Microsoft DocsのリンクURLを最新のlearn.microsoft.comドメインに変更しました。
- 追加比較用のPowerShellコードブロックに言語指定(powershell)を追加しました。
