出于某种原因,我不能让这个批处理执行打开部分,等待,然后是Windows XP或Windows 7中的关闭部分。我只能通过在批处理中注释掉另一个来打开或关闭,但出于某种原因,我是如何拥有它的写它只会打开。如何打开程序等待一段固定时间,然后关闭相同的程序?这样做的原因是在计算机启动时强制制造商程序的驱动程序。任何帮助将非常感激。谢谢。
@ECHO off
"C:\Program Files\WinTV\WinTV2K.EXE" -nc
Set _Delay=5
Taskkill /IM "WinTV2K.EXE" /F
Exit
代替
Set _Delay=5
用这个
ping -n 6 localhost >nul
ping命令需要6才能给出大约5秒的延迟。
谢谢大家帮忙等待ping,这对计时器来说是一个很好的修复,但是我能让批处理工作的唯一方法就是将批处理文件放在程序目录中并像这样运行:
@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
而不是Set _Delay=5
,使用以下内容:
ping 1.1.1.1 -n 1 -w 5000 > nul
将ping 1.1.1.1
一次(-n 1
)并等待5秒钟作出回应(-w 5000
)
当值输出到nul
时,除了等待5秒钟之外,它不会影响您的程序。
这将打开您的程序等待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