En esta nota rápida, le mostraré cómo ejecutar varios comandos cmd o PowerShell en una línea. A veces, debe hacer esto cuando invoca los comandos de PowerShell desde programas externos, el Programador de tareas de Windows, los scripts de inicio de sesión, cuando necesita omitir la política de ejecución de PowerShell o cuando tiene que pasar rápidamente un fragmento de código a un usuario para diagnosticar o solucionar problemas. en su computadora.
Ejecutar múltiples comandos en una línea en Windows CMD
Puedes usar el &
operador cmd para ejecutar varios comandos uno tras otro en una línea. Por ejemplo:
net stop wuauserv & net start wuauserv & wuauclt /detectnow
Si desea que el segundo comando se ejecute solo si el anterior fue exitoso, use el &&
formato:
ipconfig /flushdns && ipconfig /renew
Puede usar una condición inversa: el segundo comando se ejecutará solo si el primero devolvió un error:
net stop wuauserv6 || net start wuauserv
Ejecute múltiples comandos de PowerShell en una línea
Si usa un símbolo de ampersand para separar los comandos en una línea, aparece el siguiente error:
The ampersand (&) character is not allowed. The & operator is reserved for future use.
En vez de &
un punto y coma ( ;
) se usa en PowerShell para separar los comandos en una línea:
restart-service wuauserv -verbose; get-process notepad
Este comando de PowerShell de una sola línea reiniciará el servicio de Windows y, una vez que se complete el primer comando, mostrará la información sobre el proceso de Windows.
Un ejemplo popular de abreviatura de comando en PowerShell es una canalización, que le permite pasar el resultado de un comando al siguiente mediante una canalización. En PowerShell, el “|
El símbolo ” se utiliza como operador de tubería. Este es un ejemplo de un comando de canalización:
Get-Service -Name wususerv | Stop-Service
El mismo código se puede escribir completamente en varias líneas:
$service = Get-Service -Name wususerv
$serviceName = $service.Name
Stop-Service -Name $serviceName
La tubería permite reducir el tamaño del código y el código se volvió más simple y legible.
Para ejecutar múltiples comandos de PowerShell usando el menú Inicio -> Ejecutar, use el siguiente formato:
powershell -command &"{ipconfig /all; ping woshub.com; pause "Press any key to continue"}"
Si ejecuta los mismos comandos a través de la consola de PowerShell, use la siguiente sintaxis:
powershell -command {ipconfig /all; ping woshub.com; pause "Press any key to continue"}
Cuando ejecuta varios comandos de PowerShell a través del Programador de tareas de Windows, puede usar este formato:
c:windowsSystem32WindowsPowerShellv1.0powershell.exe -Command {Get-EventLog -LogName security; ipconfig /all ; get-service servicename}"
Nuevo &&
y ||
Los operadores están disponibles en la versión moderna de PowerShell Core 7.x. Funcionan igual que en cmd.
los &&
El operador ejecuta los comandos de PowerShell a la derecha si el comando de la izquierda ha tenido éxito:
Write-host "Hello!" && Write-host "World!"
los ||
El operador se usa cuando desea ejecutar un comando si el comando anterior devolvió un error:
get-service servicename || write-host "missing service"
Artículos Interesantes
Relacionados:
Contenido