Il y a un script PowerShell
nommé itunesForward.ps1
qui permet à iTunes de progresser rapidement de 30 secondes:
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}
Il est exécuté avec la commande Ligne de commande:
powershell.exe itunesForward.ps1
Est-il possible de passer un argument à partir de la ligne de commande et de le faire appliquer dans le script au lieu d'une valeur codée en dur de 30 secondes?
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
(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
}
alors il peut être appelé comme:
powershell.exe -file itunersforward.ps1 15
laisser Powershell analyser et décider du type de données
Utilise en interne une 'variante' pour cette ...
et fait généralement du 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
}
Créez un script PowerShell avec le code suivant dans le fichier.
param([string]$path)
Get-ChildItem $path | Where-Object {$_.LinkType -eq 'SymbolicLink'} | select name, target
Cela crée un script avec un paramètre de chemin. Il listera tous les liens symboliques dans le chemin fourni ainsi que la cible spécifiée du lien symbolique.
Vous pouvez également définir une variable directement dans la ligne de commande PowerShell, puis exécuter le script. La variable sera définie ici aussi. Cela m'a aidé dans un cas où je ne pouvais pas modifier un script signé.
Exemple:
PS C:\temp> $stepsize = 30
PS C:\temp> .\itunesForward.ps1
avec iTunesForward.ps1 étant
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $stepsize
}