Если вы хотите выполнить несколько команд с одной строкой, где вы начинаете команды с 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
, в противном случае временный пакетный файл, вероятно, будет удален, прежде чем он сможет запустить.