出于某种原因,我无法让这批次执行打开部分,等待,然后是Windows XP或Windows 7中的关闭部分。我只能通过批量注释掉另一个来打开或关闭,但由于某种原因,如何我写了它只会打开。如何打开程序等待一段固定时间,然后关闭相同的程序?这样做的原因是在计算机启动时强制制造商程序的驱动程序。任何帮助将非常感激。感谢。
@ECHO off
"C:\Program Files\WinTV\WinTV2K.EXE" -nc
Set _Delay=5
Taskkill /IM "WinTV2K.EXE" /F
Exit
答案 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)
答案 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