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

问题描述 投票:2回答:5

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

@ECHO off
"C:\Program Files\WinTV\WinTV2K.EXE" -nc
Set _Delay=5
Taskkill /IM "WinTV2K.EXE" /F
Exit
windows batch-file
5个回答
4
投票

代替

Set _Delay=5

用这个

ping -n 6 localhost >nul

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


3
投票

谢谢大家帮忙等待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


2
投票

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

ping 192.0.2.2 -n 1 -w 10000 > nul

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


1
投票

而不是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秒钟之外,它不会影响您的程序。


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
© www.soinside.com 2019 - 2024. All rights reserved.