W wierszu polecenia cmd możesz uruchomić dwa polecenia w jednym wierszu:
ipconfig /release & ipconfig /renew
Po uruchomieniu tego polecenia w programie PowerShell otrzymuję:
Ampersand not allowed. The `&` operator is reserved for future use
Czy PowerShell ma operator, który pozwala mi szybko wyprodukować odpowiednik &
polecenia cmd?
Wystarczy dowolna metoda uruchamiania dwóch poleceń w jednym wierszu. Wiem, że mogę napisać scenariusz, ale szukam czegoś więcej.
windows
command-line
powershell
David
źródło
źródło
Odpowiedzi:
Użyj średnika do połączenia poleceń w PowerShell:
źródło
Średnik połączy polecenia zgodnie z poprzednią odpowiedzią , chociaż istnieje zasadnicza różnica w stosunku do zachowania
&
operatora w interpretatorze poleceń w stylu MS-DOS.W interpretatorze poleceń podstawienie zmiennej następuje podczas odczytu linii. Pozwala to na kilka ciekawych możliwości, takich jak zamiana zmiennych bez tymczasowego:
Spowodowałoby to:
O ile mi wiadomo, nie ma sposobu na replikację tego zachowania w PowerShell. Niektórzy mogą twierdzić, że to dobra rzecz.
Istnieje sposób na wykonanie tego w PowerShell:
Spowoduje to zamianę wartości zmiennych w jednym wierszu.
źródło