Board logo

标题: [文本处理] 如何批处理合并带特殊字符的文本内容和文件名? [打印本页]

作者: dvd520    时间: 2012-10-16 20:05     标题: 如何批处理合并带特殊字符的文本内容和文件名?

比如文件夹下有100或n个txt 文本文件
业务员业绩.txt     出差费用.txt     b.txt     e.txt    ……等
合并生成> 业务员业绩&出差费用.txt ,b&e.txt    等文件
业务员业绩&出差费用.txt 的内容为业务员业绩.txt 和出差费用.txt 的内容合并
b&e.txt 的内容为b.txt 和 e.txt 的内容合并,依此类推。


以下是合并内容和文件名的批处理,但不能处理特殊字符,现在我贴出来以作参考!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0" & set "nb=1"
  4. set/p nc=你想几个文档合并成一个,请输入:
  5. for %%a in (*.txt) do (
  6. set "name1=!name1!%%~na"
  7. type "%%a" >>t11e11s11t11.tx
  8. set/a "n+=1"
  9. set/a "na=!n!%%%nc%"
  10. if "!na!"=="0" (
  11.   ren t11e11s11t11.tx !name1!.txt
  12.   set "name1="
  13.   )
  14. )
  15. cls
  16. echo 合并完成,按任意键继续...
  17. pause>nul
复制代码
注:有的文件名带空格号的!内容带有特殊字符!!!
作者: forfiles    时间: 2012-10-17 23:22

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0" & set "nc=1"
  4. set/p nc=你想几个文档合并成一个,请输入:
  5. for %%a in (*.txt) do (
  6.     set "name1=!name1!%%~na"
  7.     type "%%a" >>t11e11s11t11.tx
  8.     set/a "n+=1"
  9.     set/a "na=!n!%%%nc%"
  10.     if "!na!"=="0" (
  11.         ren t11e11s11t11.tx "!name1!.txt"
  12.         set "name1="
  13.     )
  14. )
  15. cls
  16. echo 合并完成,按任意键继续...
  17. pause>nul
复制代码





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