Il existe un script PowerShell
nommé itunesForward.ps1
qui fait avancer iTunes de 30 secondes :
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}
Il est exécuté avec une commande en ligne rapide :
powershell.exe itunesForward.ps1
Est-il possible de passer un argument depuis la ligne de commande et de le faire appliquer dans le script au lieu de la valeur de 30 secondes codée en dur ?
Testé comme fonctionnant :
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
}
Appelez-le avec
powershell.exe -file itunesForward.ps1 -step 15
Vous pouvez également utiliser la variable $args
(c'est comme les paramètres de position) :
$step=$args[0]
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $step
}
et vous pouvez l'appeler comme ça :
powershell.exe -file itunersforward.ps1 15
laisser Powershell analyser et décider du type de données
utilise en interne un 'Variant' ; pour cela...
et fait généralement un bon travail...
param( $x )
$iTunes = New-Object -ComObject iTunes.Application
if ( $iTunes.playerstate -eq 1 )
{ $iTunes.PlayerPosition = $iTunes.PlayerPosition + $x }
ou si vous devez passer plusieurs paramètres
param( $x1, $x2 )
$iTunes = New-Object -ComObject iTunes.Application
if ( $iTunes.playerstate -eq 1 )
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $x1
$iTunes.<AnyProperty> = $x2
}