Вы можете использовать автоматическую переменную $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 Джон, Джим, Джейн
Пример 1: С помощью имен параметров вы можете изменить порядок.
PS CLI:. \ Test.ps1 -names john, jim, jane -numbers 4,9,16