Board logo

标题: [文件操作] 求助批处理loop循环结束后就无法继续读取.htc文件 [打印本页]

作者: yjj    时间: 2023-9-9 18:59     标题: 求助批处理loop循环结束后就无法继续读取.htc文件

  1. @echo off  
  2. setlocal enabledelayedexpansion  
  3. set "htcFolderPath=E:\HAWC2_model\MySE22-31x\htc"   
  4. set "hawcExePath=E:\HAWC2_12.8_1900\HAWC2MB.exe"   
  5. set "maxConcurrentProcesses=2"   
  6. REM 遍历.htc文件夹  
  7. for /r "%htcFolderPath%" %%I in (*.htc) do (  
  8. set "filepath=%%I"  
  9. set "filename=%%~nI"   
  10. :loop  
  11.     set "ProcessCount=0"
  12.     for /f "tokens=2 delims=," %%x in ('tasklist ^| findstr /i "HAWC2MB.exe"') do set /a "ProcessCount+=1"
  13.     echo !ProcessCount!
  14. echo !filepath!
  15.     if !ProcessCount! GEQ !maxConcurrentProcesses!  call :loop      
  16.     start  "!filename!"  %hawcExePath% !filepath!
  17. )  
  18. :wait   
  19. set "running_processes=0"   
  20. for /f "tokens=2 delims=," %%a in ('tasklist ^| findstr /i "HAWC2MB.exe"') do (   
  21.     set /a "running_processes+=1"   
  22. )   
  23. if !running_processes! equ 0 (   
  24.     echo all complete!   
  25. ) else (   
  26.     echo please wait!   
  27.     timeout /t 2 > nul   
  28.     goto :wait   
  29. )   
  30.   
  31. echo All processes completed.  
  32. endlocal  
复制代码
当loop循环结束后就无法继续读取.htc文件并执行start语句,直接就跳出了for循环
作者: Batcher    时间: 2023-9-9 19:29

回复 1# yjj


如果代码是你自己写的,请修改一下处理逻辑,把 :loop 子函数挪到for循环外面。


如果代码不是你自己写的,请举例说明具体需求。
如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: 77七    时间: 2023-9-9 19:30

标签不要写在括号里面




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2