command line - PowerShell स्क्रिप्ट के लिए तर्क कैसे पास करें?




command-line automation (2)

आप $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

एक 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 सेकंड मान के बजाय स्क्रिप्ट में लागू किया गया है?


काम के रूप में परीक्षण किया गया:

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




argument-passing