使用CMD和批处理的早期,我使用shift
命令。
我如何使用PowerShell? 这是我的样本:
# test.ps1
# start ps script with parameters
param(
[string]$varmon)
if ($varmon) {
foreach ($var in $varmon) {
Write-Host $var
}
}
PS CLI:。\ test.ps1一二三
我只得到“一个”。如何用多个参数启动脚本?
答案 0 :(得分:2)
您可以使用the automatic variable $args
:
# test.ps1
# start ps script with parameters
foreach ($var in $args){
write-host $var
}
数组允许您输入可变数量的参数-一天结束时$args
只是为未分配的变量创建的自动数组。
数组参数以逗号分隔,而不是空格-下面的示例。
test.ps1
# test.ps1
# start ps script with parameters
param(
[int[]]$numbers,
[string[]]$names
)
if($numbers){
Write-host "`nYou have entered the following numbers:"
foreach ($num in $numbers){
write-host "Number : $num"
Write-host "Square root: $([system.math]::sqrt($num))"
}
}
if($names){
Write-host "`nYou have entered the following names:"
foreach($name in $names){
Write-host $name
}
}
示例1:,无需使用参数名称,就需要按顺序排列数组。因此,$numbers
首先,$names
其次
PS CLI:。\ test.ps1 4,9,16 john,jim,jane
示例1:使用参数名称,您可以更改顺序。
PS CLI:。\ test.ps1-名称john,jim,jane-数字4,9,16