[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
下面是我做的, 分类 + 排序,
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. del b.txt&del 1.txt&del 2.txt
  4. for /f "usebackq delims=" %%i in (`more a.txt`) do (
  5.   for %%j in (%%i)do (
  6.     set "number=   %%j"
  7.     echo !number:~-4!>>1.txt
  8.   )
  9. )
  10. for /f "usebackq" %%i in (`sort 1.txt`) do (
  11.   echo %%i>>2.txt
  12. )
  13. del 1.txt
  14. for /l %%i in (0,1,9) do (
  15. set /a input=0
  16. for /f "delims=" %%j in (2.txt) do (
  17. set /a num=%%j
  18. set /a flag=!num:~-1,1!
  19. if !flag! equ %%i (
  20. if !input! equ 0 (
  21. set /p=!flag! <nul>>b.txt
  22. )
  23. set /a input=1
  24. set /p=!num! <nul >>b.txt
  25. )
  26. )
  27. if !input! equ 1 (
  28. echo. >>b.txt
  29. )
  30. )
  31. start b.txt
  32. del 1.txt&del 2.txt
  33. exit
复制代码
1

评分人数

    • batman: 代码可大幅优化PB + 3

TOP

原帖由 terse 于 2009-4-13 17:10 发表
先抛砖 感觉可以少个FOR@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
   for %%j in (%%i) do (
       set str=%%j
       for /l %%a in (0,1,9) do (
       if "!str: ...



set真是用的经典,学习了。

TOP

返回列表