Существует почти неизвестная команда waitfor .
In a.bat
Ожидание сигнала:
WMIC /NODE:"<IP of server A>" /user: <user ID> /password: <password> process call create "<path to b.bat in server B>\b.bat"
waitfor "ClientReady"
echo Client is ready.
In b.bat
отправить сигнал:
rem do what's to do
waitfor /si "ClientReady"
waitfor /si signal
отправляет сигнал всем компьютерам в сети (пока не объявлено иное), а waitfor signal
просто ожидает поступления сигнала (неограниченное время, пока не объявлено иное). Опции см. В waitfor /?
и переключатели.
Примечание: имя сигнала чувствительно к регистру.
Для тестирования вам не нужны два компьютера, два окна cmd
на одном компьютере тоже работают (онив той же сети по умолчанию)
Я настоятельно рекомендую использовать переключатель /t
imeout, если b.bat
не удастся.По истечении времени %errorlevel%
будет 1
, иначе 0