批处理文件在带有计时器的文件夹中执行所有.exe

问题描述 投票:1回答:3

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

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

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

windows batch-file
3个回答
2
投票
for /r "." %%a in (*.exe) do start "" "%%~fa"&timeout /t 2 >nul

&分离命令,> nul将timeout对话指向比特桶,因此无法看到。


2
投票

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

  1. 使用timeout /t SEC,你用它想要的时间取代SEC。如果您不希望用户通过按任意键来停止计时器,请添加/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`
)

1
投票

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

timeout /T 2
© www.soinside.com 2019 - 2024. All rights reserved.