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

[文本处理] 批处理如何循环读取txt文件

[复制链接]
发表于 2011-12-27 14:05:49 | 显示全部楼层 |阅读模式
本帖最后由 CrLf 于 2011-12-28 20:23 编辑

代码如下
  1. for /f "delims= " %%i in (z.txt) do del %%i.bat
  2. for /f "delims= " %%i in (z.txt) do echo goto start>>%%i.bat
  3. for /f "delims= " %%i in (z.txt) do echo :start>>%%i.bat
  4. for /f "delims= " %%i in (z.txt) do echo a.exe %%i %%i.bat
  5. for /f "delims= " %%i in (z.txt) do echo if errorlevel 1 goto exit>>%%i.bat
  6. for /f "delims= " %%i in (z.txt) do echo if errorlevel 0 goto d>>%%i.bat
  7. for /f "delims= " %%i in (z.txt) do echo :d>>%%i.bat
  8. for /f "delims= " %%i in (z.txt) do echo (echo %%i^>^>a.txt)>>%%i.bat
  9. for /f "delims= " %%i in (z.txt) do echo goto exit>>%%i.bat
  10. for /f "delims= " %%i in (z.txt) do echo :exit>>%%i.bat
  11. for /f "delims= " %%i in (z.txt) do echo exit>>%%i.bat
  12. for /f "delims= " %%i in (z.txt) do start %%i.bat
  13. exit
复制代码
从z.txt中读取参数给a.exe,把成功的结果输出到a.txt中,现在问题是,z.txt中有几千行的参数,那么运行后,就会产生几千个bat,怎么能设定一次读取100个,完成后继续往下执行,知道读取全部z.txt中的参数,请各位大虾们指教!
发表于 2011-12-27 17:00:40 | 显示全部楼层
本帖最后由 CrLf 于 2011-12-28 20:24 编辑

由于你要判断a.exe的结果再输出.所以我觉得用两个批好点
第一个,实现每次100个输出,保存任意名字.
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0

  4. for /f "delims=" %%a in (z.txt) do (
  5. if /i "!n!" neq "100" (
  6. start "" "a.bat" "%%a"
  7. set /a n=n+1
  8. ) else (
  9. "a.exe" "%%a"
  10. if /i "%errorlevel%" equ "0" (
  11. echo %%a >> "a.txt"
  12. )
  13. set n=0
  14. )
  15. )
复制代码
第二个保存为a.bat,
  1. @echo off
  2. cd /d "%~dp0"
  3. a.exe %1
  4. if /i "%errorlevel%" equ "0" (
  5. echo %1 >> a.txt
  6. )
复制代码
这种方法我没有实测过.~~估计有问题.~~哈哈,可以当做参考.~
 楼主| 发表于 2011-12-28 17:23:02 | 显示全部楼层
多谢指点了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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