[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. rem 批处理保存为utf-8编码格式
  3. chcp 65001 >nul
  4. for /f "useback delims=" %%i in (`dir /b /a-d *.txt`) do (
  5. setlocal
  6. for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"%%i" ^|find "]第" ^|find "章"`) do (
  7. set _"%%a"=1
  8. )
  9. (for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"%%i"`) do (
  10. if not defined _"%%a" (
  11. echo=%%b
  12. ) else (
  13. echo=
  14. echo=
  15. echo=
  16. echo=%%b
  17. echo=
  18. echo=
  19. echo=
  20. )
  21. ))>$
  22. move $ "%%i"
  23. endlocal
  24. )
  25. pause
复制代码

使用前先备份!可能会有误差,如果”章“后面有个空格,代码改为 find "章 " 误差应该小点
bat小白,请多指教!谢谢!

TOP

wfr
http://bcn.bathome.net/tool/wfr.exe

  1. wfr *.txt /encin:utf-8 /encout:utf-8 -r:"^\s*第\s*\d+\s*章.*" -t:"\n\n\n\0\n\n\n"
复制代码
bat小白,请多指教!谢谢!

TOP

回复 8# kokoxx


   
代码第6行改为
  1. for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"%%i" ^|find "]第" ^|find "章" ^|find /v "此行不做添加空行处理"`) do (
复制代码
bat小白,请多指教!谢谢!

TOP

回复 10# kokoxx


  
  1. @echo off
  2. rem 批处理保存为utf-8编码格式
  3. chcp 65001 >nul
  4. for /f "useback delims=" %%i in (`dir /b /a-d *.txt`) do (
  5. (for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"%%i"`) do (
  6. echo=
  7. echo=%%b
  8. ))>$
  9. move $ "%%i"
  10. )
  11. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 12# kokoxx


  
  1. @echo off
  2. rem 批处理保存为utf-8编码格式
  3. chcp 65001 >nul
  4. for /f "useback delims=" %%i in (`dir /b /a-d *.txt`) do (
  5. setlocal
  6. for /f "useback tokens=1* delims=[]" %%a in (`find /n "猜你喜欢:" ^<"%%i"`) do (
  7. set _"%%a"=1
  8. )
  9. for /f "useback tokens=1* delims=[]" %%a in (`find /n "更多推荐:" ^<"%%i"`) do (
  10. set _"%%a"=1
  11. )
  12. (for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"%%i"`) do (
  13. if not defined _"%%a" (
  14. echo=%%b
  15. ) else (
  16. echo=
  17. )
  18. ))>$
  19. move $ "%%i"
  20. endlocal
  21. )
  22. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 18# kokoxx


   应该是 猜你喜欢: 这个字符串在原文中没有找到。
使用你提供的文件,我这里测试正常。
bat小白,请多指教!谢谢!

TOP

回复 20# kokoxx


  
  1. @echo off
  2. rem 批处理保存为utf-8编码格式
  3. chcp 65001 >nul
  4. for /f "useback delims=" %%i in (`dir /b /a-d *.txt`) do (
  5. setlocal
  6. for /f "useback tokens=1* delims=[]" %%a in (`find /n ".html" ^<"%%i"`) do (
  7. for %%x in (-2 -1 0 1) do (
  8. set /a n=%%a+%%x
  9. call set _"%%n%%"=1
  10. )
  11. )
  12. (for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"%%i"`) do (
  13. if not defined _"%%a" (
  14. if defined m (
  15. echo=
  16. set m=
  17. )
  18. echo=%%b
  19. ) else (
  20. set m=1
  21. )
  22. ))>$
  23. move $ "%%i"
  24. endlocal
  25. )
  26. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 22# kokoxx


   对的,7行缩成一行空白
bat小白,请多指教!谢谢!

TOP

回复 28# kokoxx


  
  1. (for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"%%i"`) do (
  2. if not defined _"%%a" (
  3. echo=%%b
  4. )
  5. ))>$
复制代码
12-18行改为上面的,即去掉else (echo=)
bat小白,请多指教!谢谢!

TOP

回复 30# kokoxx


  
  1. @echo off
  2. rem 批处理保存为utf-8编码格式
  3. chcp 65001 >nul
  4. cd /d "%~dp0"
  5. set /a x=3,y=2
  6. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  7. setlocal
  8. (for /f "tokens=1* delims=[]" %%a in ('find /n /v "" ^<"%%i"') do (
  9. if "%%b" equ "" (
  10. set /a n+=1
  11. ) else if defined n (
  12. set /a m=n/x*y+n%%x
  13. set n=
  14. setlocal enabledelayedexpansion
  15. for /l %%l in (1,1,!m!) do (
  16. echo=
  17. )
  18. endlocal
  19. echo=%%b
  20. ) else (
  21. echo=%%b
  22. )
  23. ))>$
  24. move $ "%%i"
  25. endlocal
  26. )
  27. pause
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表