paramステートメントの使い方
PowerShellでバッチファイルのように、実行時にパラメータを引数として渡す方法について調査した。
$argsを使用する方法とparamステートメントを使用する方法があるようだが、初期値の設定を行うことができるparamステートメントを使用すれば事足りるという印象である。
このことからparamステートメントの動作について述べる。
以下のサンプルを作成した。
paramステートメント内で三種類の変数を用意し、各々に初期値を設定した。
設定した値をechoを使用して出力するという内容である。
サンプルプログラム(paramTest.ps1)
param( $a =1,$b =2,$c=3 ); echo $a; echo $b; echo $c;
各呼び出しと実行結果は以下のようになる。
1.引数なし
実行
paramTest.ps1
実行結果
1 2 3
2.引数あり(1個)
実行
paramTest.ps1 test
実行結果
test 2 3
また、今回はparamステートメント内の変数に型を設定しなかったが、以下のように型指定することも可能である。
(paramステートメント内の$aを整数型に設定)
param( [int]$a =1,$b =2,$c=3 ); echo $a; echo $b; echo $c;
この場合、上記の実行パターン1は動作するが、実行パターン2は文字列「test」を代入しようとするため、エラーが発生する。
参考にしたページ
PowerShell で引数の取得