Se si desidera eseguire più comandi con 1 riga, da cui si stanno avviando i comandi start, ad esempio, se si desidera eseguire un comando come questo:
start "" netsh dump && pause
Quindi, è necessario farlo in 2 passaggi (la soluzione a una riga è alla fine di questa risposta).
Innanzitutto, scrivi i comandi in un file batch temporaneo (in questo caso, puoi usare &o &&):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd
Si noti che è necessario "sfuggire" a ciascuna delle "&"s(e commerciali) con a "^"
per consentire loro di essere trattati come normali caratteri nel echocomando. In alternativa, è possibile creare il file batch temporaneo con un editor di testo, ad esempio Blocco note.
Quindi, utilizzare startper avviare il file batch:
start "" foobar.cmd
-or-
start "" "temporary foobar.cmd"
Nota: la coppia vuota di virgolette doppie è per quella "Title"che verrà mostrata nella barra del titolo della finestra di comando che startsi aprirà. Questo "Title"argomento è tecnicamente un argomento facoltativo per start, ma è effettivamente richiesto , se il comando che startverrà eseguito è tra virgolette doppie. Ad esempio, nel secondo esempio:
start "" "temporary foobar.cmd"
se si lascia fuori la coppia vuota di virgolette doppie in questo modo:
start "temporary foobar.cmd"
quindi startaprirà una nuova finestra di comando e la utilizzerà "temporary foobar.cmd"come nuova finestra di comando "Title", e nulla verrà eseguito nella nuova finestra di comando.)
Se si desidera startattendere il completamento del file batch (al termine pausedell'eliminazione), prima del startcompletamento, è necessario aggiungere l' /wopzione al startcomando:
start "" /w foobar.cmd
Puoi mettere tutto insieme su una riga e persino rimuovere (eliminare) il file batch temporaneo ( foobar.cmd):
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
Si noti che se si intende eliminare il file batch temporaneo, è necessario eseguire startcon l' /wopzione, altrimenti il file batch temporaneo verrà probabilmente eliminato prima che abbia la possibilità di essere eseguito.
&e&&funziona solo in Windows "cmd.exe, che non è DOS.