[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. chcp 65001 >nul
  3. cd /d "%~dp0"
  4. (for /f "delims=" %%x in ('dir /b /a-d *.txt ^|find /v "out.txt"') do (
  5. for /f "useback tokens=1-12" %%a in ("%%x") do (
  6. if /i "%%a%%b%%c" equ "excludingmasscoefficients" (
  7. set m=1
  8. ) else if defined m (
  9. if /i "%%a%%b%%c" equ "MAINST.K" (
  10. set /p="%%~nx %%e %%k"<nul
  11. ) else if /i "%%a%%b%%c" equ "MAIND.C" (
  12. echo= %%e %%k
  13. set m=
  14. )
  15. )
  16. )
  17. ))>"out.txt"
  18. pause
复制代码
bat小白,请多指教!谢谢!

TOP

3楼代码使用楼主提供的文件,我这里测试结果正确。
根据楼主最新需求,以目标固定在文本第5 294 296行为规律,再写一个。
  1. @echo off
  2. chcp 65001 >nul
  3. cd /d "%~dp0"
  4. (for /f "delims=" %%x in ('dir /b /s /a-d *.txt') do (
  5. if "%%~nxx" neq "out.txt" (
  6. for /f "tokens=1* delims=[]" %%a in ('find /n /v "" ^<"%%x" ^|findstr /rb "\[5\] \[294\] \[296\]"') do (
  7. if not defined str (
  8. call :1 %%b
  9. ) else (
  10. call :2 "%%b"
  11. )
  12. )
  13. call echo %%str%%
  14. set str=
  15. )
  16. ))>out.txt
  17. pause & exit
  18. :1
  19. set str=%*
  20. exit /b
  21. :2
  22. for %%c in (%~1) do (
  23. if "%%~xc" neq "" (
  24. call set str=%%str%% %%~nxc
  25. )
  26. )
  27. exit /b
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表