iTunes'u 30 saniye ileri saran itunesForward.ps1
adında bir PowerShell
betiği vardır:
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}
Komut satırı komutu ile çalıştırılır:
powershell.exe itunesForward.ps1
Komut satırından bir bağımsız değişken iletmek ve kodlanmış 30 saniye değeri yerine komut dosyasında uygulanmasını sağlamak mümkün müdür?
Çalıştığı test edildi:
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
}
Şununla ara
powershell.exe -file itunesForward.ps1 -step 15
Ayrıca $args
değişkenini de kullanabilirsiniz (pozisyon parametreleri gibi):
$step=$args[0]
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $step
}
o zaman şöyle çağrılabilir:
powershell.exe -file itunersforward.ps1 15
Powershell'in veri türünü analiz etmesine ve karar vermesine izin verin
Dahili olarak bunun için bir 'Variant' kullanır...
ve genellikle iyi bir iş çıkarır...
param( $x )
$iTunes = New-Object -ComObject iTunes.Application
if ( $iTunes.playerstate -eq 1 )
{ $iTunes.PlayerPosition = $iTunes.PlayerPosition + $x }
veya birden fazla parametre geçirmeniz gerekiyorsa
param( $x1, $x2 )
$iTunes = New-Object -ComObject iTunes.Application
if ( $iTunes.playerstate -eq 1 )
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $x1
$iTunes.<AnyProperty> = $x2
}