基本

  • Powershellスクリプトでは、引数は自動的に $Args[] に格納される
  • 引数を予め宣言する場合は Param($Arg1,$Arg2, ...) を使用する
    • Param($Arg1,$Arg2, ...) はスクリプトの最初で宣言すること(そうしないとエラーになる)
    • 複数定義する場合はカンマを入れる必要がある
  • 引数の型を宣言する場合は以下のようにする
    Param(
        [String]$Arg1, #$Arg1は文字列型,
        [Int]$Arg2     #$Arg2は整数型で宣言
    )
  • 引数にdefault値をセットする場合は以下のようにする
    Param(
        [String]$Arg1 = "Test1",
        [Int]$Arg2 = 123
    )
  • 引数を指定しなければ初期値が利用される
  • 引数を必須パラメタとする場合は [parameter(mandatory=$true)] を付ける
    Param(
        [parameter(mandatory=$true)][String]$Arg1,
        [parameter(mandatory=$true)][int]$Arg2
    ) 
  • 引数の最大長は 32767 文字?

バリデーション

  • 指定値のみ受け入れるようにしたい場合は以下のようにする
    Param(
        [ValidateSet("Test1","Test2")][String]$Arg1,
        [ValidateSet("123","321")][int]$Arg2
    )

トラブルシューティング

「Param」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認してから再試行してください。

  • Param(...) はスクリプトの先頭に置かないと上記エラーが出るので注意!!

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-06 (月) 15:14:19 (48d)