我创建了一个bat文件,它向Windows注册表添加了密钥,然后调用另一个bat文件QGIS.bat(这个bat文件启动了一个名为QGIS的应用程序)。
它大部分时间都可以工作,但是当它调用QGIS.bat没有任何反应时,命令窗口保持打开状态,但QGIS(由QGIS.bat文件启动)将无法启动。 在命令窗口(cmd)中,它只是调用。\ usbgis \ apps \ qgis \ bin \ qgis.bat
(只是注意QGIS是一个从USB记忆棒运行的便携式应用程序,可能是问题的一部分吗?)
所以我的问题。有没有办法可以终止一个bat文件,如果它在3分钟内没有关闭,或者另一个bat文件没有启动?
谢谢,
答案 0 :(得分:0)
这就是我在评论中所说的:
@echo off
setlocal enabledelayedexpansion
set sPath=C:\Program Files\Internet Explorer
set sprog=iexplore.exe
set inc=0
:loop
if exist "%sPath%\%sProg%" (echo %sProg%) else exit /b
set /a inc+=1
if "!inc!" equ "30" (Echo Exiting & exit /b)
for /f %%a in (
'tasklist /NH /FI "Imagename eq %sProg%"^|findstr /i "INFO:"') do (
if not errorlevel 1 (
ping -n 11 127.0.0.1>nul
goto :loop
)
)
显然更改路径和文件以匹配您的路径和文件。我只需要在这里测试一些东西。