找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18063|回复: 2

[文件操作] 求助批处理loop循环结束后就无法继续读取.htc文件

[复制链接]
发表于 2023-9-9 18:59:38 | 显示全部楼层 |阅读模式
  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循环
发表于 2023-9-9 19:29:18 | 显示全部楼层
回复 1# yjj


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


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

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
发表于 2023-9-9 19:30:24 | 显示全部楼层
标签不要写在括号里面
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 14:14 , Processed in 0.026241 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表