Если вы хотите выполнить несколько команд с одной строкой, с которой вы начинаете команды start, например, если вы хотите выполнить такую команду:
start "" netsh dump && pause
Затем вам нужно сделать это в 2 шага (однострочное решение находится в конце этого ответа).
Сначала запишите команды во временный пакетный файл (в этом случае вы можете использовать &или &&):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd
Обратите внимание, что вам нужно «экранировать» каждый из "&"s(амперсандов) с помощью, "^"
чтобы их можно было рассматривать как обычные символы в echoкоманде. Кроме того, вы можете создать временный пакетный файл с помощью текстового редактора, такого как Блокнот.
Затем используйте startдля запуска командного файла:
start "" foobar.cmd
-or-
start "" "temporary foobar.cmd"
Примечание . Пустая пара двойных кавычек предназначена для того, "Title"что будет показано в строке заголовка командного окна, startкоторое откроется. Этот "Title"аргумент технически является необязательным аргументом для start, но на самом деле он необходим , если команда, которая startбудет выполняться , заключена в двойные кавычки. Например, во втором примере:
start "" "temporary foobar.cmd"
если вы пропустите пустую пару двойных кавычек, как это:
start "temporary foobar.cmd"
затем startоткроет новое командное окно и будет использоваться "temporary foobar.cmd"в качестве нового командного окна "Title", и в новом командном окне ничего не будет выполнено.)
Если вы хотите startдождаться завершения пакетного файла (после pauseзакрытия), прежде чем startзавершить, то вам нужно добавить /wпереключатель в startкоманду:
start "" /w foobar.cmd
Вы можете поместить все это в одну строку и даже удалить (удалить) временный командный файл ( 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
Обратите внимание, что если вы собираетесь удалить временный пакетный файл, вам необходимо запустить его startс помощью /wпереключателя, в противном случае временный пакетный файл, вероятно, будет удален, прежде чем он сможет запустить.
&и&&работают только в Windows'еcmd.exe- это не DOS.