@echo off
::命令行下对任意十进制整数排序,右对齐输出.
::使用格式: dat.txt
::thanks youxi01
if not exist %1 echo %~nx1 未找到.&exit /b
findstr "" %1 >nul&&echo 警告: %~nx1 内含有 非数字 数据!
setlocal enabledelayedexpansion
if "%2"=="" (
   for /f "tokens=2 delims=#" %%i in ('"%~0" %1 #^|sort') do (
      call :byte "%%i"
      call :xecho "!space!"
      set/a n+=1&call :xecho "%%i"
      if !n! equ 6 set n=0&call :xecho "↙"
   )
             ) else (
    for /f %%i in (%1) do (
       call :wei %%i
       echo !r!#%%i
    )
    goto :eof
                    )
goto :eof
:xecho
if "%~1"=="↙" (echo.&goto :eof) else set /p=%~1 <nul
goto :eof
:byte
set "space="
call :wei %1
set/a num=10-%r%
for /l %%i in (1 1 %num%) do set "space= !space!"
goto :eof
:wei
set r=0
   for /l %%i in (0 1 100) do (
      set "var=%~1"
      set t=!var:~%%i,1!
      if "!t!"=="" goto :eof
      set/a r+=1
   )
测试数据
@echo off&setlocal enabledelayedexpansion
for /l %%a in (1 1 100) do echo !random!>>dat.txt
 Last edited by plp626 on 2008-3-22 at 09:18 AM ]