Wenn Sie mehrere Befehle mit einer Zeile ausführen möchten, mit der Sie die Befehle startbeispielsweise starten , wenn Sie einen Befehl wie diesen ausführen möchten :
start "" netsh dump && pause
Dann müssen Sie dies in zwei Schritten tun (eine einzeilige Lösung befindet sich am Ende dieser Antwort).
Schreiben Sie zuerst die Befehle in eine temporäre Batch-Datei (in diesem Fall können Sie &oder verwenden &&):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd
Beachten Sie, dass Sie jedes "&"s(kaufmännische Und) mit einem "Escape" versehen müssen "^"
, damit sie im echoBefehl als normale Zeichen behandelt werden können . Alternativ können Sie die temporäre Stapeldatei mit einem Texteditor wie z. B. Notepad erstellen.
Verwenden Sie dann start, um die Batch-Datei zu starten:
start "" foobar.cmd
-or-
start "" "temporary foobar.cmd"
Hinweis: Das leere Paar doppelter Anführungszeichen ist für das "Title", das in der Titelleiste des Befehlsfensters angezeigt startwird, das geöffnet wird. Dieses "Title"Argument ist technisch gesehen ein optionales Argument für start, es ist jedoch tatsächlich erforderlich , wenn der startauszuführende Befehl in doppelten Anführungszeichen steht. Zum Beispiel im zweiten Beispiel:
start "" "temporary foobar.cmd"
Wenn Sie das leere Paar doppelter Anführungszeichen weglassen:
start "temporary foobar.cmd"
Dann startwird ein neues Befehlsfenster geöffnet und "temporary foobar.cmd"als neues Befehlsfenster verwendet "Title", und im neuen Befehlsfenster wird nichts ausgeführt.)
Wenn Sie startwarten möchten, bis die Batchdatei abgeschlossen ist (nachdem das pauseSymbol geschlossen wurde), bevor startder /wVorgang abgeschlossen ist, müssen Sie den Schalter zum startBefehl hinzufügen :
start "" /w foobar.cmd
Sie können dies alles in einer Zeile zusammenfassen und sogar die temporäre Batchdatei ( foobar.cmd) entfernen (löschen ):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd && start "" /w foobar.cmd && del foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd & start "" /w foobar.cmd & del foobar.cmd
Beachten Sie, dass Sie zum Löschen der temporären Stapeldatei startden /wSwitch verwenden müssen. Andernfalls wird die temporäre Stapeldatei wahrscheinlich gelöscht, bevor sie ausgeführt werden kann.
&und&&funktionieren nur unter Windows 'cmd.exe- das ist nicht DOS.