Board logo

标题: [文本处理] 批处理怎样把多个文本合成一个新文本,新文本头行添加字段? [打印本页]

作者: 昔别丶    时间: 2015-5-14 17:18     标题: 批处理怎样把多个文本合成一个新文本,新文本头行添加字段?

  1. @echo off
  2. @setlocal EnableDelayedExpansion
  3. @set /p a=执行合并命令按Y键,退出按N键 ,请输入并按回车:
  4. if /i "%a%"=="n" exit
  5. if /i "%a%"=="y" goto :1
  6. cls&%0
  7. :1
  8. echo 条码,数量>汇总数据.txt
  9. for %%i in (*.txt) do (type "%%i"&echo,)>"%%~ni.temp"
  10. copy *.temp 汇总数据.txt
  11. del /a /q *.temp
复制代码
这个批处理把字段“条码,数量”放到了新文本的最后面了!  求大神解决!
作者: xudaweb    时间: 2015-5-14 17:30

本帖最后由 xudaweb 于 2015-5-14 17:32 编辑

因为你用for循环之前,又生了一个新的文本(汇总数据.txt),这个文本里面是:条码,数量。所以才显示不对。下面这个修改后的,可以实现你的要求。
  1. @echo off
  2. @setlocal EnableDelayedExpansion
  3. @set /p a=执行合并命令按Y键,退出按N键 ,请输入并按回车:
  4. if /i "%a%"=="n" exit
  5. if /i "%a%"=="y" goto :1
  6. cls&%0
  7. :1
  8. for %%i in (*.txt) do (type "%%i"&echo,)>>"%%~ni.temp"
  9. echo 条码,数量>汇总数据.txt
  10. type *.temp >>汇总数据.txt
  11. del /a /q *.temp
复制代码





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