次のように、同じパラメーターの複数の形式を使用できるようにしたい:
param(
[string]$p or $path = "C:\",
[string]$f or $filter = "*.txt",
[switch]$o or $overwrite
)
しかし、これを行う方法がわかりません。ほとんどの場合、1 つしか選択できません (例: $p のみ、または $path のみ)。同じ変数/パラメータに複数の名前を使用することはできますか?
次のように、同じパラメーターの複数の形式を使用できるようにしたい:
param(
[string]$p or $path = "C:\",
[string]$f or $filter = "*.txt",
[switch]$o or $overwrite
)
しかし、これを行う方法がわかりません。ほとんどの場合、1 つしか選択できません (例: $p のみ、または $path のみ)。同じ変数/パラメータに複数の名前を使用することはできますか?
PowerShell の部分的なパラメーター名の一致は、探しているものかもしれません。
# test.ps1
param($path)
write-host $path
.\test.ps1 -path "c:\windows"
どちらかまたは両方を指定して .\test.ps1 を呼び出す.\test.ps1 -p "c:\windows"
と、$path パラメーターに一致し、入力されます。
このような:
param(
[Alias('p')]
[string]$path = "C:\",
[Alias('f')]
[string]$filter = "*.txt",
[Alias('o')]
[switch]$overwrite
)
複数のエイリアスも使用できることに注意してください。[Alias('p','thepath')]