Якщо ви хочете виконати кілька команд з 1 рядка, де ви запускаєте команди start, наприклад, якщо ви хотіли виконати команду так:
start "" netsh dump && pause
Потім це потрібно зробити в 2 етапи (однорядкове рішення знаходиться в кінці цієї відповіді).
Спочатку запишіть команди у тимчасовий пакетний файл (у цьому випадку ви можете використовувати &або &&):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd
Зауважте, що вам потрібно "уникнути" кожного з "&"s(амперсандів) з "^"
символом a, щоб вони могли розглядатися як звичайні символи 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.