In einer cmd-Eingabeaufforderung können Sie zwei Befehle in einer Zeile wie folgt ausführen:
ipconfig /release & ipconfig /renew
Wenn ich diesen Befehl in PowerShell ausführe, erhalte ich:
Ampersand not allowed. The `&` operator is reserved for future use
Verfügt PowerShell über einen Operator, mit dem ich schnell das Äquivalent &
einer cmd-Eingabeaufforderung erstellen kann ?
Jede Methode zum Ausführen von zwei Befehlen in einer Zeile ist ausreichend. Ich weiß, dass ich ein Drehbuch schreiben kann, aber ich suche nach etwas, das ein wenig abseits der Manschette liegt.
windows
command-line
powershell
David
quelle
quelle
Antworten:
Verwenden Sie ein Semikolon, um Befehle in PowerShell zu verketten:
quelle
Ein Semikolon verknüpft die Befehle wie in der vorherigen Antwort angegeben , obwohl es einen wesentlichen Unterschied zum Verhalten des
&
Operators im MS-DOS-Befehlsinterpreter gibt.Im Befehlsinterpreter erfolgt die Variablensubstitution beim Lesen der Zeile. Dies ermöglicht einige nette Möglichkeiten, wie zum Beispiel das Tauschen von Variablen ohne Zwischenzeit:
Würde ergeben:
Soweit ich weiß, gibt es keine Möglichkeit, dieses Verhalten in PowerShell zu replizieren. Einige mögen argumentieren, dass das eine gute Sache ist.
In PowerShell gibt es tatsächlich eine Möglichkeit, dies zu tun:
Dies führt zu einem einzeiligen Tausch der Variablenwerte.
quelle