我正在创建一个批处理文件,这将打开另一个程序,然后等待并关闭先前打开的程序。 存在的问题是,有必要的是,批处理文件等待每个它的打开时间不同的时间量。 例如我需要在批处理文件中创建一个延迟,该批处理文件在两个给定数字之间变化
start "Your_Program_here"
timeout 20
taskkill /f /im "Your_Program_here"
上面的例子工作,但每次都有相同的延迟。 我怎样才能让它变化?
我正在创建一个批处理文件,这将打开另一个程序,然后等待并关闭先前打开的程序。 存在的问题是,有必要的是,批处理文件等待每个它的打开时间不同的时间量。 例如我需要在批处理文件中创建一个延迟,该批处理文件在两个给定数字之间变化
start "Your_Program_here"
timeout 20
taskkill /f /im "Your_Program_here"
上面的例子工作,但每次都有相同的延迟。 我怎样才能让它变化?
您是否需要等待第一个过程完成其执行的时间?或者只是一个简单的thread.sleep,因为你想要它?
,如果是这样的话,我已经成功地使用自平
ping 127.0.0.1 -n 10 > nul
旁边-n数量要等待的秒数使用的伎俩。
使用%RANDOM%
:
start "Your_Program_here" timeout %random% taskkill /f /im "Your_Program_here"
%RANDOM%产生从0到32,767(含)
0≤%RANDOM%≤32767
您还可以随机整数通过将%RANDOM%
乘以(或除)另一个数字来缩放此范围以满足您的需求。
(source)
你需要创建一个运行的程序,然后关闭在d算法/吨时
,并在此代码,你必须创建包含一个文件要打开的文件。名称它“file.lst”
@echo off
setlocal
set f=0
set s=0
set d=0
for /f "tokens=*" %%a in ('type file.LST') do (set /a f=f+1 &&::%%a)
:s
set /a d=d+3 &::you can replace 3 as any number that you wanna to be rate
for /f "tokens=*" %%b in (file.LST) do (if not "%f%"=="%s%" (
start "" %%b
set /a s=s+1
timeout %f%
taskkill /im %%b /f
)
)
goto s
感谢#naty
我需要它来启动程序,然后等待并结束该程序。该程序会自动执行。我需要批处理文件来规定程序执行它的时间。 – Trippledixx