打开程序的批处理文件等待5秒钟然后关闭该程序

时间:2014-02-26 15:52:36

标签: windows batch-file

出于某种原因,我无法让这批次执行打开部分,等待,然后是Windows XP或Windows 7中的关闭部分。我只能通过批量注释掉另一个来打开或关闭,但由于某种原因,如何我写了它只会打开。如何打开程序等待一段固定时间,然后关闭相同的程序?这样做的原因是在计算机启动时强制制造商程序的驱动程序。任何帮助将非常感激。感谢。

@ECHO off
"C:\Program Files\WinTV\WinTV2K.EXE" -nc
Set _Delay=5
Taskkill /IM "WinTV2K.EXE" /F
Exit

5 个答案:

答案 0 :(得分:4)

而不是

Set _Delay=5

使用此

ping -n 6 localhost >nul

ping命令需要6才能给你一个大约5秒的延迟。

答案 1 :(得分:3)

感谢大家帮忙等待ping,这对定时器来说是一个很好的修复,但是我能让批处理工作的唯一方法就是将批处理文件放在程序目录中并像这样运行: / p>

@ECHO off
start WinTV2K.EXE -nc
ping 1.1.1.1 -n 1 -w 5000 > nul
Taskkill /IM WinTV2K.EXE /F
Exit

不确定为什么它不会以其他方式工作,而且这不是我想要的,但它会做到。感谢你的帮助。 @Ryan和@Sean Long

答案 2 :(得分:2)

您可以参考this获取更多信息,但我最喜欢的是在一段时间内ping不存在的机器:

ping 192.0.2.2 -n 1 -w 10000 > nul

根据需要更改10000(以毫秒为单位)。

答案 3 :(得分:1)

使用以下内容代替Set _Delay=5

ping 1.1.1.1 -n 1 -w 5000 > nul

1.1.1.1 ping一次(-n 1)并等待5秒钟以获得回复(-w 5000

当值输出到nul时,除了等待5秒钟之外,它不会影响您的程序。

答案 4 :(得分:1)

这将打开您的程序等待5秒,然后关闭相同的程序 Windows XP超时 - 10“批处理文件”或“Windows命令脚本”!没有ping !!!

@ECHO off
start WinTV2K.EXE -nc
ver | find "XP" > nul
     if %ERRORLEVEL% == 1 timeout /t 05 && echo . Vista - 10 && goto NEXT

set XP-timeout=5000
echo . XP, 1000 = 1 sec, approximately

set /a timeout=1
     :timer
echo timeout timer number %timeout%
if %timeout% == %XP-timeout% goto NEXT
echo . XP, 1000 = 1 sec.
set /a timeout=timeout+1
goto timer
     :NEXT
tasklist /fi "imagename eq WinTV2K.EXE" |find ":" > nul
 if errorlevel 1 taskkill /f /im "WinTV2K.EXE"
Exit