我想运行程序,然后在30秒后关闭该程序。
我写了两个批处理文件,
第一个批处理文件正在运行程序。该程序是Hotspot Shield。
鳕鱼是@ECHO off
"C:\Program Files (x86)\Hotspot Shield\bin\hsscp.exe"
timeout /t 30
"E:\1.bat"
Exit
程序运行正常,但30秒后第二批文件无法运行。
第二批文件的代码是
@ECHO off
cd "C:\Program Files (x86)\Hotspot Shield\bin"
Taskkill /IM "hsscp.exe" /F
Exit
当我添加此命令时
timeout /t 30
在第一批文件中的此命令之前
"C:\Program Files (x86)\Hotspot Shield\bin\hsscp.exe"
批处理文件倒计时。但之后不计算在内。
问题是什么?
我只想运行热点盾牌并在30秒后关闭。 窗户是10。
感谢
答案 0 :(得分:1)
@ECHO off
START "" "C:\Program Files (x86)\Hotspot Shield\bin\hsscp.exe"
timeout /t 30 >NUL
Taskkill /IM "hsscp.exe" /F
Exit
...hsscp.exe
可执行文件将在新进程中启动。由于>nul
并且taskkill
的当前目录不相关,30秒超时将变为静默。
start
命令中的第一个双引号参数是窗口标题,因此start
命令中的额外引号对提供了空标题。
答案 1 :(得分:0)
我不确定它是否仍然存在,但Hotspot Shield可执行文件曾用于接受-quit
参数。如果是这种情况那么肯定是比用TaskKill
强行关闭它更好的选择。
这可能值得一试:
@Echo Off
CD /D "%ProgramFiles(x86)%\Hotspot Shield\bin" 2>Nul || Exit /B
Start hsscp
Timeout 30 /NoBreak > Nul
Start hsscp -quit