標準の Linux スタイル、つまり --my-param で先頭に -- を付けてパラメータを取る Powershell スクリプトを作成したいと考えています。次のように、エイリアスパラメーター属性を使用してこれが可能かもしれないと思いました
Param (
[parameter(Mandatory=$true)]
[alias("-my-param","p")]
[String]
$param
)
これで私が望んでいたのは、呼び出しが
c:\src\ps\params.ps1 --my-param "x"
エイリアス -my-param を参照していると認識されます。残念ながら、私が得るのは
C:\src\ps\params.ps1 : A positional parameter cannot be found that accepts argument 'x'.
At line:1 char:21
+ c:\src\ps\params.ps1 <<<< --my-param1 "x"
+ CategoryInfo : InvalidArgument: (:) [params.ps1], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,params.ps1
一方、これでエイリアス my-param を使用すると、スクリプトを -my-param で呼び出すことができます。Powershellで先頭にパラメータ名を指定する方法はありますか?