如何将parameter passing给PowerShell脚本?
有一个名为itunesForward.ps1
的PowerShell
脚本,使iTunes快速前进30秒:
$iTunes = New-Object -ComObject iTunes.Application if ($iTunes.playerstate -eq 1) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + 30 }
它使用提示行命令执行:
powershell.exe itunesForward.ps1
是否有可能从命令行传递参数,并将其应用于脚本而不是硬编码的30秒值?
testing作为工作:
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
variables(就像位置参数一样):
$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