更新日:2021/04/14
Powershell スクリプトにおいてパラメータ名を使用して引数を指定する方法を紹介します。
例えばこのような使い方です。
test.ps1 -param abcde
paramと名前を指定して引数を取得する場合です。
Powershellではパラメータ名を指定して引数を設定することが可能です。
次の例では abc という名前のパラメータ名を指定してスクリプトに値を設定しています。
実際に test という引数を設定しています。
Param($abc)
により変数 $abc に値を設定しています。
C:\test\test1.ps1 -abc test
サンプルコード:
Param($abc)
write-host $abc
以下の例では入力値をチェックして動作を行います。入力値が"test"の場合、"正解"と表示します。
サンプルコード:
Param($abc)
write-host $abc
if ($abc -eq "test")
{
write-host "正解です"
}
else
{
write-host "不正解です"
}
複数個のパラメータを設定するサンプルコードは以下の通りです。
C:\temp100\test.ps1 -abc aaa -def bbb
サンプルコード:
Param($abc,$def)
write-host $abc
write-host $def
実行結果:
PS C:\> C:\test.ps1 -abc Str1 -def Str2
Str1
Str2
注意ですが、パラメータ名を指定しなくても、前から順番に評価されてしまいます。これを無効化するには [CmdletBinding(PositionalBinding = $false)] を追記します。
サンプルコード:
PS C:\> C:\test.ps1 -abc aaa -def bbb
aaa
bbb
PS C:\> C:\test.ps1 -def aaa -abc bbb
bbb
aaa
PS C:\> C:\test.ps1 aaa bbb
aaa
bbb
[Powershell FAQ トップへ]
[FAQ CENTER トップ]
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018