Board logo

标题: [文本处理] 【已解决】BAT:合并数据时,如何给未出现序号的txt文本留空 [打印本页]

作者: 思想之翼    时间: 2014-8-31 19:55     标题: 【已解决】BAT:合并数据时,如何给未出现序号的txt文本留空

本帖最后由 思想之翼 于 2014-9-10 10:08 编辑
  1. @echo off
  2. pushd "D:\文本\文本1\"
  3. (for %%a in (*.txt) do (
  4.     if not "%%~za" == "0" (
  5.         type "%%a"
  6.     ) else echo,
  7. ))>$$$$
  8. move $$$$ "D:\文本\文本2\a.txt"
  9. exit
复制代码
上述代码将文本1内的txt文本合并为a.txt,写入文本2

举例:
文本1内有如下txt文本:
001.txt
003.txt
010.txt
上述代码合并数据得到a.txt:
001.txt 的数据
003.txt 的数据
010.txt 的数据

现在欲在合并数据时,给未出现序号的txt文本留空:
001.txt 的数据

003.txt 的数据






010.txt 的数据

这样的代码如何写?
作者: apang    时间: 2014-9-2 23:35

  1. @echo off & setlocal enabledelayedexpansion
  2. pushd "D:\文本\文本1\"
  3. for /f %%a in ('dir /b /on *.txt') do (
  4.     set /a !Min:Min=1%%~na!,Max=1%%~na
  5. )
  6. (for /l %%a in (%Min% 1 %Max%) do (
  7.     set "n=%%a"
  8.     type !n:~1!.txt || echo,
  9.     for %%b in (!n:~1!.txt) do if "%%~zb" == "0" echo,
  10. ))>"D:\文本\文本2\a.txt" 2>nul
  11. pause
复制代码

作者: hnldwhm52    时间: 2014-9-11 23:19

xuexixuexi!!!




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