- @echo off
- setlocal enabledelayedexpansion
- set "htcFolderPath=E:\HAWC2_model\MySE22-31x\htc"
- set "hawcExePath=E:\HAWC2_12.8_1900\HAWC2MB.exe"
- set "maxConcurrentProcesses=2"
- REM 遍历.htc文件夹
- for /r "%htcFolderPath%" %%I in (*.htc) do (
- set "filepath=%%I"
- set "filename=%%~nI"
- :loop
- set "ProcessCount=0"
- for /f "tokens=2 delims=," %%x in ('tasklist ^| findstr /i "HAWC2MB.exe"') do set /a "ProcessCount+=1"
- echo !ProcessCount!
- echo !filepath!
- if !ProcessCount! GEQ !maxConcurrentProcesses! call :loop
- start "!filename!" %hawcExePath% !filepath!
- )
-
- :wait
- set "running_processes=0"
- for /f "tokens=2 delims=," %%a in ('tasklist ^| findstr /i "HAWC2MB.exe"') do (
- set /a "running_processes+=1"
- )
- if !running_processes! equ 0 (
- echo all complete!
- ) else (
- echo please wait!
- timeout /t 2 > nul
- goto :wait
- )
-
- echo All processes completed.
- endlocal
复制代码 当loop循环结束后就无法继续读取.htc文件并执行start语句,直接就跳出了for循环 |