Hay un PowerShell
script llamado itunesForward.ps1
que hace que iTunes avance rápidamente 30 segundos:
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}
Se ejecuta con el comando de línea de solicitud:
powershell.exe itunesForward.ps1
¿Es posible pasar un argumento desde la línea de comandos y aplicarlo en el script en lugar del valor codificado de 30 segundos?
command-line
powershell
automation
itunes
argument-passing
Boris Pavlović
fuente
fuente
[string]
. Si luego desea pasar una cadena como parámetro, puede usar'
o"
. Si no hay espacio (o comillas) dentro de la cadena, incluso puede omitir las comillas.param([string]$env,[string]$s3BucketName)
-file
falta la llamada. La llamada sin podría funcionar con Powershell Versión 1.0 pero no puedo probarlo. Se actualizó la respuesta.Puede usar también
$args
variable (que es como los parámetros de posición):entonces se puede llamar como:
fuente
Llamar script desde archivo por lotes (* .bat) o CMD
Núcleo Powershell
Potencia Shell
Llamar desde powershell
Powershell Core o Windows Powershell
Script.ps1 - Código de script
fuente
deje que Powershell analice y decida el tipo de datos
Usa internamente una 'Variante' para esto ...
y generalmente hace un buen trabajo ...
o si necesita pasar múltiples parámetros
fuente
Cree un script de PowerShell con el siguiente código en el archivo.
Esto crea un script con un parámetro de ruta. Enumerará todos los enlaces simbólicos dentro de la ruta proporcionada, así como el objetivo especificado del enlace simbólico.
fuente
También puede definir una variable directamente en la línea de comando de PowerShell y luego ejecutar el script. La variable se definirá allí también. Esto me ayudó en un caso en el que no pude modificar un script firmado.
Ejemplo:
con iTunesForward.ps1 siendo
fuente
fuente