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

[文本处理] (已解决)如何避免批处理for命令重复读取数据?

[复制链接]
发表于 2013-7-30 15:44:00 | 显示全部楼层 |阅读模式
本帖最后由 lijinpengying 于 2013-8-1 11:27 编辑

是这样的,我这里有很多个文本文档,例如a.txt b.txt c.txt ……*.txt
现在我想要把文档里面每一行都加上特殊字符,例如[]
a.txt
123
1234
12345
123456
处理后a.txt
[123]
[1234]
[12345]
[123456]
关键是用很多个文档,我的代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%i in (*.txt) do (
  3. echo. >%%~ni2%%~xi
  4. call :ext >>%%~ni2%%~xi
  5. )
  6. pause
  7. :ext
  8. for /f %%j in ('type *.txt') do (
  9. echo ^-^[%%j^]^-
  10. )
复制代码
结果是把每一行都加上了我想要的字符,可是它是重复的,里面有多少个文档,它就有多少行那些字符,比如我现在有四个文本,那么a.txt:
[123]
[1234]
[12345]
[123456]
[123]
[1234]
[12345]
[123456]
[123]
[1234]
[12345]
[123456]
[123]
[1234]
[12345]
[123456]
[123]
[1234]
[12345]
[123456]
各位,请问如何才能避免这样的事情发生了,我只是想要一个就行了,当然如果只处理一个文本很容易,可是我要同时处理多个文本……谢谢大家……

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-7-30 16:04:28 | 显示全部楼层
  1. @echo off
  2. for "delims=" %%i in ('dir /b *.txt') do (
  3.     (for /f "usebackq delims=" %%j in ("%%i") do (
  4.         echo,[%%j]
  5.     ))>%%~ni2%%~xi
  6. )
复制代码
发表于 2013-7-30 17:09:21 | 显示全部楼层
  1. @echo off
  2. for /r %%a in (*.txt) do (
  3.         for /f %%b in (%%a) do (
  4.                 echo [%%b]>>%%~na.log
  5.                 )
  6.         del %%a
  7.         )
  8. for /r %%a in (*.log) do (ren %%a %%~na.txt)
复制代码

评分

参与人数 1技术 +1 收起 理由
lijinpengying + 1 解决问题!

查看全部评分

发表于 2013-7-30 17:19:30 | 显示全部楼层
输出文件的后缀名为 txt 的话建议不要用 for %%i in (*.txt) do,这里会对新增的 txt 遍历
而 type *.txt 的输出内容...你在 cmd 里运行一下就知道了
 楼主| 发表于 2013-8-1 09:56:27 | 显示全部楼层
回复 4# CrLf


    谢谢大大!小子受教了!辛苦了哈!
 楼主| 发表于 2013-8-1 09:57:05 | 显示全部楼层
回复 3# 522235677


    谢谢你!
 楼主| 发表于 2013-8-1 09:58:00 | 显示全部楼层
回复 2# gawk


    久仰您的大名,您能来回答,表示万分感谢!谢谢!
 楼主| 发表于 2013-8-1 10:04:23 | 显示全部楼层
回复 2# gawk


    可能是复制代码错误,试验没有成功……
 楼主| 发表于 2013-8-1 10:04:43 | 显示全部楼层
回复 6# lijinpengying


    您的代码成功了!哦耶!
 楼主| 发表于 2013-8-1 10:24:57 | 显示全部楼层
回复 3# 522235677


    呜呜,还是有问题啊,你把我那个盘符下所有的文本文档都加上了符号……
发表于 2013-8-1 12:17:47 | 显示全部楼层
回复 8# lijinpengying


    具体是怎么不成功呢?请详细描述一下
发表于 2013-8-1 16:36:02 | 显示全部楼层
回复 10# lijinpengying


    放在要处理的文件夹里,干嘛放根目录呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 13:57 , Processed in 0.029612 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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