Как передать аргумент в сценарий PowerShell?
здесь PowerShell
скрипт с именем itunesForward.ps1
это делает iTunes быстрой перемоткой вперед на 30 секунд:
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}
он выполняется с помощью команды командной строки:
powershell.exe itunesForward.ps1
можно ли передать аргумент из командной строки и применить его в скрипте вместо жестко заданного значения 30 секунд?
3 ответа:
проверено как работает:
param([Int32]$step=30) #Must be the first statement in your script $iTunes = New-Object -ComObject iTunes.Application if ($iTunes.playerstate -eq 1) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + $step }
называют его
powershell.exe -file itunesForward.ps1 -step 15
вы также можете использовать
$args
переменная (это как параметры позиции):$step=$args[0] $iTunes = New-Object -ComObject iTunes.Application if ($iTunes.playerstate -eq 1) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + $step }
тогда это можно назвать как:
powershell.exe -file itunersforward.ps1 15