Batch file 如果没有响应,如何停止bat文件的运行
我创建了一个bat文件,它将键添加到windows注册表,然后调用另一个bat文件QGIS.bat(这个bat文件启动一个名为QGIS的应用程序) 它在大多数情况下都能工作,但有时,当它调用QGIS.bat时,什么都不会发生,命令窗口保持打开状态,但QGIS(由QGIS.bat文件启动)不会启动。 在命令窗口(cmd)中,它只显示call。\usbgis\apps\qgis\bin\qgis.bat (请注意,QGIS是一款使用USB记忆棒运行的便携式应用程序,这可能是问题的一部分?) 所以我的问题是。如果bat文件在3分钟内未关闭或另一个bat文件未启动,是否有办法终止该bat文件Batch file 如果没有响应,如何停止bat文件的运行,batch-file,Batch File,我创建了一个bat文件,它将键添加到windows注册表,然后调用另一个bat文件QGIS.bat(这个bat文件启动一个名为QGIS的应用程序) 它在大多数情况下都能工作,但有时,当它调用QGIS.bat时,什么都不会发生,命令窗口保持打开状态,但QGIS(由QGIS.bat文件启动)不会启动。 在命令窗口(cmd)中,它只显示call。\usbgis\apps\qgis\bin\qgis.bat (请注意,QGIS是一款使用USB记忆棒运行的便携式应用程序,这可能是问题的一部分?) 所以我的
谢谢,这就是我在评论中所说的:
@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
)
)
显然,更改路径和文件以匹配您的路径和文件。我只是需要一些东西来测试一下 在QGIS.bat中添加一个循环,使其每隔10秒左右运行一次,使用任务列表检查程序是否正在运行。每次它都会增加一个变量,直到它达到30,如果它确实退出,则返回一个错误代码。