[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】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 的数据

这样的代码如何写?

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

评分人数

TOP

xuexixuexi!!!

TOP

返回列表