Як запускати кілька команд DOS паралельно?


95

Як запустити кілька команд dos?

У мене є forцикл, який запускає виявлення сервера, щоб визначити, який сервер працює і швидко. І оскільки серверів більше, я бажаю не запускати всі виявлення серверів послідовно, а паралельно.




2
Це один повний сценарій , використовуючи тільки вікна пакет функції: stackoverflow.com/a/11715437/2026975
imriss

Windows cmd - це не DOS . У DOS немає таких речей, як цикл або паралель
phuclv

Відповіді:


173

Ви можете виконувати команди паралельно з startтаким:

start "" ping myserver
start "" nslookup myserver
start "" morecommands

Кожен із них почнеться у своєму командному рядку та дозволить вам запускати кілька команд одночасно з одного командного файлу.

Сподіваюся, це допомагає!


15
Більше того, /bопція дозволяє виконувати startкоманду без створення нового вікна. Спробуйте це за допомогою cmd:start /b ping google.com & start /b ping example.com
Ніно Філіу

2
@NinoFiliu Дуже корисно, дякую. Мені потрібно було лише одне вікно
Саймон,

6

Я пропоную вам подивитися " Як запустити файл bat у фоновому режимі з іншого файлу bat? "

Також хороша відповідь (за допомогою startкоманди) була дана на сторінці запитань " Паралельне виконання процесів оболонки " тут ;

Але моя рекомендація - використовувати PowerShell . Я вірю, що це буде цілком відповідати вашим потребам.


0

якщо у вас кілька параметрів, використовуйте синтаксис, як показано нижче. У мене є файл bat зі сценарієм, як показано нижче:

start "dummyTitle" [/options] D:\path\ProgramName.exe Param1 Param2 Param3 
start "dummyTitle" [/options] D:\path\ProgramName.exe Param4 Param5 Param6 

Це відкриє кілька консолей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.