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

[文本处理] [已解决]批处理文件内容怎么样只跳出一个for循环

本帖最后由 wxr0514 于 2011-11-15 21:43 编辑

里面替换内容的部分是没问题了,现在是想批量处理txt文件,试不出来,菜鸟每走一步都好难呀
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%t in (*.txt) do (
  3. for /f "skip=4 tokens=2 delims=|" %%i in ("%%t")  do (
  4. set baodanghao=%%i
  5. for /f "delims="  %%x in ("%%t") do (
  6. set newtxt=%%x
  7. for %%n in (!baodanghao!) do set newtxt=!newtxt:%%n=000000123!
  8. echo !newtxt!>>c.txt
  9. )
  10. move /y c.txt "%%t"
  11. pause
  12. goto :eof
  13. )
  14. )
复制代码
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# CrLf


    截取txt文件里的一个字段,字段出现的第一个位置在"skip=4 tokens=2 delims=|",替换文件中所有的该字段为000000123,我试了后只能修改一个txt文件,不能批处理一个目录下的所有txt文件,因为goto :eof就直接跳出了,有什么方法只是跳出一个for循环呢
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%t in (*.txt) do (
  3. set txt=%%~nxt
  4. for /f "skip=4 tokens=2 delims=|" %%i in (!txt!)  do (
  5. set baodanghao=%%i
  6. for /f "delims="  %%x in (!txt!) do (
  7. set newtxt=%%x
  8. for %%n in (!baodanghao!) do set newtxt=!newtxt:%%n=000000123!
  9. echo !newtxt!>>c.txt
  10. )
  11. move /y c.txt !txt!
  12. pause
  13. goto :eof
  14. )
  15. )
复制代码

TOP

回复 4# CrLf


    谢了,按照你的方式执行成功了
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%t in (*.txt) do (
  3. set txt=%%~nxt
  4. set str=
  5. for /f "skip=4 tokens=2 delims=|" %%i in (!txt!)  do (
  6. set baodanghao=%%i
  7. if not defined str (
  8. for /f "delims="  %%x in (!txt!) do (
  9. set newtxt=%%x
  10. for %%n in (!baodanghao!) do set newtxt=!newtxt:%%n=000000123!
  11. echo !newtxt!>>c.txt
  12. )
  13. move /y c.txt !txt!
  14. )
  15. set str=1
  16. )
  17. )
  18. pause
复制代码

TOP

返回列表