如何使用 sleep 命令并行运行批处理文件

如何使用 sleep 命令并行运行批处理文件

抱歉,我问了这么一个愚蠢的问题。我有 2 个批处理文件,其中我在批处理文件 1 中执行了一些命令,然后休眠一段时间,然后在批处理文件 2 中执行了一些命令,然后批处理文件 2 又会等待一段时间,然后再执行批处理文件 1..,所以我有以下脚本

批处理文件1.bat

@echo off
echo helloworld
call Batchfile2.bat
GOTO END

批处理文件2.bat

@echo off
echo printing

有人可以建议如何在这种情况下使用睡眠吗,我看到了不同的选项睡眠,超时等。 哪一个是在这种情况下最好使用的?

答案1

嗯,SLEEP 不是标准的 Windows 批处理命令,所以它不行。

只要脚本永远不需要在 XP 上运行,那么 TIMEOUT 就很完美了。例如,要休眠 3 秒:

timeout 3 /nobreak >nul

如果您希望脚本也能在 XP 上运行,那么标准方法是使用 PING。它在两次 ping 之间大约等待 1 秒,因此请指示它比您所需的秒数多 ping 一次。因此,以下是延迟约 3 秒的示例:

ping -n 4 127.0.0.1 > nul

答案2

脚本不一定需要放在单独的文件中,因为 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

相关内容