PowerShell-ps1中のParamの位置

PowerShellのスクリプトファイルへの起動引数を指定するParamの位置は、ファイルの先頭にする必要がある。

関数定義やコマンの起動などを行う前の場所に記述すると、以下の様なメッセージが出力さる。

+ Param($output)
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (Param:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

ただ例外があった。

Paramより前に記述しなければいけない構文がある。

それがusing句(using namespace)。

using句をParamの後ろに記述すると、以下の様なメッセージが出力される。

'using' ステートメントは、スクリプト内の他のどのステートメントよりも前に記述する必要があります。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UsingMustBeAtStartOfScript

ということで、記述順序はusing、Paramになる。

コメント

タイトルとURLをコピーしました