[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求助批处理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循环

回复 1# yjj


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


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

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

标签不要写在括号里面
bat小白,请多指教!谢谢!

TOP

返回列表