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

小吹一下,我发现我貌似在算法方面小有天赋...
  1. @echo off&setlocal enabledelayedexpansion
  2. findstr /n .* 1.txt >2.txt
  3. set "str=[0-9][0-9][0-9][0-9]"
  4. (for /l %%a in (1 1 4) do (
  5.    for /f "tokens=1* delims=:" %%b in ('findstr "^^!str!:" 2.txt^|sort /r') do echo %%c
  6.    set str=!str:*]=!
  7. ))>b.txt
  8. pause
复制代码
1

评分人数

TOP

修正了两处笔误。

TOP

因为变量长度有限。2楼代码已修正原先的两处笔误,试下有没有用

TOP

另外一种,以前经常用的:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3.      set /a n+=100001
  4.      echo !n:~-6!:%%a
  5. )>tmp
  6. (for /l "tokens=1* delims=:" %%a in ('sort /r tmp') do echo %%b)>2.txt
  7. del tmp
  8. start a.txt
复制代码
但是碰到大文件时,for两遍的效率会很低

TOP

返回列表