如何在批处理中查找进程,若存在指定进程就等待进程结束后再继续后续的操作?

想用批处理做一个简单的游戏备份程序,但是游戏的启动程序是调取另外的DLL文件进行加载的,调用完DLL后,游戏启动程序会退出,所以无法使用 start /wait 命令来实现游戏进度自动备份。
想问一下,如何在批处理中让批处理自动检测进程中是否有指定的DLL或者其他进程,如果有指定进程,就等待进程退出后再进行后续的操作?

@echo off
set APP1=a.exe
set APP2=b.exe

set Pr=0
for /f "tokens=1 delims= " %%a in ('tasklist ^| findstr /i "%APP1% %APP2%"') do (
    set APP=%%~a
    set /a Pr+=1
)
if %Pr% equ 1 (
    if /i "%APP%"=="%APP1%" start "" "D:\1.exe"
    if /i "%APP%"=="%APP2%" start "" "D:\2.exe"
)
if %Pr% equ 2 start "" "D:\3.exe"
if %Pr% equ 0 start "" "D:\4.exe"
pause
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答