Board logo

标题: [文本处理] BAT多文本合并,用>>追加,结果为什么会重复? [打印本页]

作者: tamicer    时间: 2013-10-4 18:49     标题: BAT多文本合并,用>>追加,结果为什么会重复?

把当前目录下所有txt文件内容追加到all.txt中,我这样写为什么all.txt内容有一次重复的情况?请教各位老师如何解决?多谢赐教!
  1. @ echo off & setlocal enabledelayedexpansion
  2. for %%a in (*.txt) do (
  3.   for /f "usebackq tokens=*" %%b in ("%%a") do echo %%b >>all.txt
  4. )
  5. pause>nul
复制代码

作者: 林小七    时间: 2013-10-4 19:15

因为你没排除all.txt本身~
作者: DAIC    时间: 2013-10-4 19:22

  1. @echo off
  2. (for %%a in (*.txt) do (
  3.     for /f "usebackq tokens=*" %%b in ("%%a") do (
  4.         echo,%%b
  5.     )
  6. ))>all.txt
复制代码

作者: tamicer    时间: 2013-10-4 19:43

多谢楼上两位朋友热心指点,一语点醒梦中人
作者: tamicer    时间: 2013-10-4 19:45

另外,请教DAIC老师,echo,%%b和echo %%b相比有什么好处?
作者: xpw    时间: 2013-10-4 19:56

排除echo on 和echo off两种情况
作者: tamicer    时间: 2013-10-4 20:11

学习了,非常感谢!




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