it-swarm-es.com

¿Cómo se ejecutan varios comandos en una línea en PowerShell?

En un indicador de cmd, puede ejecutar dos comandos en una línea así:

ipconfig /release & ipconfig /renew

Cuando ejecuto este comando en PowerShell, obtengo:

Ampersand not allowed. The `&` operator is reserved for future use

¿Tiene PowerShell un operador que me permita producir rápidamente el equivalente de & en un indicador de cmd?

Cualquier método de ejecutar dos comandos en una línea lo hará. Sé que puedo hacer un guión, pero estoy buscando algo un poco más rápido.

248
David

Use un punto y coma para encadenar comandos en PowerShell:

ipconfig /release; ipconfig /renew
357
Squeezy

Un punto y coma vinculará los comandos como se indicó en la respuesta anterior, aunque hay una diferencia clave en el comportamiento con el operador & en el intérprete de comandos de estilo MS-DOS.

En el intérprete de comandos, la sustitución de variables tiene lugar cuando se lee la línea. Esto permite algunas posibilidades claras como el intercambio de variables sin un interino:

set a=1
set b=2
set a=%b% & set b=%a%
echo %a%
echo %b%

Resultaría en:

2
1

Que yo sepa, no hay manera de replicar este comportamiento en PowerShell. Algunos pueden argumentar que eso es algo bueno.

De hecho, hay una manera de hacer esto en PowerShell:

$b, $a = $a, $b

Resultará en un cambio de línea única de los valores de las variables.

29
Dave_J