[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这是刚想到的,没41楼的巧妙
  1. @echo off
  2. (for /f "delims=" %%a in ('findstr /n .* a.txt') do echo [%%a)>ab.txt
  3. find /v /n "" b.txt|more>>ab.txt +2
  4. for /f "tokens=1* delims=:]" %%a in ('sort ab.txt') do echo;%%b
  5. pause
复制代码

[ 本帖最后由 zm900612 于 2011-2-22 18:17 编辑 ]

TOP

41楼的改进思路,相信这能终结双文本同时输出的难题:
  1. @echo off
  2. findstr /n .* 1.txt>tmp1
  3. find /n /v "" 2.txt|more>tmp2 +2
  4. for /f "tokens=2*delims=]:" %%a in ('fc /lb1000 /n tmp1 tmp2^|sort') do echo;%%b
  5. del /q tmp?
  6. pause
复制代码

TOP

好办法,避开了多余的显示,省一个more。
其实如果文件数是2的倍数,还是可以这样用的,不过效率就难说了

TOP

本帖最后由 zm900612 于 2011-7-18 20:27 编辑
  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do (
  3.     endlocal
  4.     echo;%%a
  5.     setlocal enabledelayedexpansion
  6.     set /p t2=
  7.     if defined t2 echo;!t2!
  8. ))<2.txt>合并.txt
  9. ::由于可以有两个不同的输入来源并存,所以双文本合并就成为轻而易举的事了
复制代码
1

评分人数

TOP

返回列表