Board logo

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

作者: lijinpengying    时间: 2013-7-30 15:44     标题: (已解决)如何避免批处理for命令重复读取数据?

本帖最后由 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]
各位,请问如何才能避免这样的事情发生了,我只是想要一个就行了,当然如果只处理一个文本很容易,可是我要同时处理多个文本……谢谢大家……
作者: gawk    时间: 2013-7-30 16:04

  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. )
复制代码

作者: 522235677    时间: 2013-7-30 17:09

  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)
复制代码

作者: CrLf    时间: 2013-7-30 17:19

输出文件的后缀名为 txt 的话建议不要用 for %%i in (*.txt) do,这里会对新增的 txt 遍历
而 type *.txt 的输出内容...你在 cmd 里运行一下就知道了
作者: lijinpengying    时间: 2013-8-1 09:56

回复 4# CrLf


    谢谢大大!小子受教了!辛苦了哈!
作者: lijinpengying    时间: 2013-8-1 09:57

回复 3# 522235677


    谢谢你!
作者: lijinpengying    时间: 2013-8-1 09:58

回复 2# gawk


    久仰您的大名,您能来回答,表示万分感谢!谢谢!
作者: lijinpengying    时间: 2013-8-1 10:04

回复 2# gawk


    可能是复制代码错误,试验没有成功……
作者: lijinpengying    时间: 2013-8-1 10:04

回复 6# lijinpengying


    您的代码成功了!哦耶!
作者: lijinpengying    时间: 2013-8-1 10:24

回复 3# 522235677


    呜呜,还是有问题啊,你把我那个盘符下所有的文本文档都加上了符号……
作者: gawk    时间: 2013-8-1 12:17

回复 8# lijinpengying


    具体是怎么不成功呢?请详细描述一下
作者: 522235677    时间: 2013-8-1 16:36

回复 10# lijinpengying


    放在要处理的文件夹里,干嘛放根目录呢




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2