【问题标题】:Batch File to execute all .exe in a folder with timer批处理文件以执行带有计时器的文件夹中的所有 .exe
【发布时间】:2016-12-07 10:52:02
【问题描述】:

我已经搜索过这个网站,现在我知道如何执行文件夹中的所有 .exe,这就是我可以做到的(使用批处理文件 .bat):

for /r "." %%a in (*.exe) do start "" "%%~fa"

有没有办法在每个 .exe 文件之间使用计时器(例如 2 秒)来执行它们?

【问题讨论】:

  • 你想启动可执行文件以两秒为间隔(所以它们甚至允许并行运行吗?),或者你想要下一个可执行文件两秒在上一个被终止之后?
  • 好问题,我想在 2 秒后开始第二个,不管第一个完成与否,但我得到了答案:)

标签: windows batch-file


【解决方案1】:
for /r "." %%a in (*.exe) do start "" "%%~fa"&timeout /t 2 >nul

& 分隔命令,>nul 将timeout 对话定向到位桶,因此它不可见。

【讨论】:

    【解决方案2】:

    批量产生超时的2个选项是:

    1. 使用timeout /t SECSEC 替换为您希望计时的秒数。如果您不希望用户通过按任意键来停止计时器,请添加 /nobreak 选项。但要小心这个:它不能保证SEC 秒计时器,它只保证它会让系统在SECSEC - 1 秒之间的时间间隔休眠
    2. 第二个更准确的选择是使用ping -n S 127.0.0.1 > nul。由于每次 ping 之间有 1 秒,这将导致 S-1 秒超时

    所以你可以花 2 秒时间做:

    for /r "." %%a in (*.exe) do (
        start "" "%%~fa"
        timeout /t 2 /nobreak
        REM Or ping -n 3 127.0.0.1 > nul`
    )
    

    【讨论】:

      【解决方案3】:

      您可以使用timeout 命令。要等待 2 秒,只需在每个 .exe 文件之间使用它即可。

      timeout /T 2
      

      【讨论】:

        猜你喜欢
        • 2014-11-26
        • 1970-01-01
        • 2021-08-10
        • 2013-07-18
        • 2014-05-31
        • 2016-04-10
        • 2011-03-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多