[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
一百行以内
  1. @echo off
  2. for /f "tokens=1* delims=[]" %%a in ('find /v /n "" ?.txt^|findstr /b "\[[0-9]\]"^|sort') do echo.%%b >>out.txt
  3. for /f "tokens=1* delims=[]" %%a in ('find /v /n "" ?.txt^|findstr /b "\[[0-9][0-9]\]"^|sort') do echo.%%b >>out.txt
  4. pause
复制代码

TOP

原帖由 netbenton 于 2009-4-30 07:38 发表
楼上的不一定会交替的吧?
有可能会这样的
a.txt  行
b.txt  行
b.txt  行
a.txt  行

  1. for /l %%i in (1,1,40) do (
  2. echo A:%%i >>a.txt
  3. echo B:%%i>>b.txt
  4. )
复制代码


你试了没有

TOP

原帖由 netbenton 于 2009-4-30 23:34 发表
是我搞错了,呵呵,没注到前面的是find,而不是findstr


君的方法,不知道这样是不是可以不限行数了呢:
find /v /n "" ?.txt |findstr "[ ]"|sort


应该不行,把不同位数的行数分捡开来是为了让sort来正确排序,否则会排成
1
10
11
2
20
21
3
....
这样
超过一百行要再加一句
  1. for /f "tokens=1* delims=[]" %%a in ('find /v /n "" ?.txt^|findstr /b "\[[0-9][0-9][0-9]\]"^|sort') do echo.%%b >>out.txt
复制代码

TOP

返回列表