Извините за этот болезненный тупой вопрос. У меня есть 2 пакетных файла, где у меня есть несколько команд, которые нужно выполнить в batchfile1 и некоторое время спать, а затем выполнить некоторые команды в batchfile2, и снова batchfile2 будет ждать некоторое время, а затем снова batchfile1 .., поэтому у меня есть скрипт ниже

Batchfile1.bat

@echo off
echo helloworld
call Batchfile2.bat
GOTO END

Batchfile2.bat

@echo off
echo printing

Может ли кто-нибудь предложить, как использовать сон для этого сценария, я вижу разные варианты сна, тайм-аут .. и т.д. и какой из них лучше всего использовать в этом сценарии?

2 ответа2

0

Ну, SLEEP - это не стандартная пакетная команда Windows, так что это не так.

Пока скрипт не нужно запускать на XP, TIMEOUT идеален. Например, для сна 3 секунды:

timeout 3 /nobreak >nul

Если вы хотите, чтобы скрипт также работал на XP, тогда стандартным хаком является использование PING. Он ожидает примерно 1 секунду между пингами, поэтому дайте ему команду пинговать больше, чем вы хотите. Итак, вот пример для ~ 3 секундной задержки:

ping -n 4 127.0.0.1 > nul
0

Сценарии не обязательно должны быть в отдельных файлах, поскольку CALL также может вызывать метки. Это будет делать то, что вы описываете:

@echo off

:start
call :script1
timeout 1 /nobreak >nul
call :script2
timeout 1 /nobreak >nul
goto :start

:script1
echo script1
goto :eof

:script2
echo script2
goto :eof

Если вы хотите, чтобы сценарии размещались во внешних файлах, аналогичный подход также работает:

@echo off

:start
call script1.bat
timeout 1 /nobreak >nul
call script2.bat
timeout 1 /nobreak >nul
goto :start

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .