如有一列数值如:56 12 33 48 99 105 5 16
怎么通过批处理输出为:5 12 16 33 48 56 99 105
要求不生成任何临时文件。
----------------------------------------------------------------------------------------------------------
综合所有,本人的通用代码如下:
再扩展:
[ Last edited by zw19750516 on 2008-5-4 at 09:20 PM ]
怎么通过批处理输出为:5 12 16 33 48 56 99 105
要求不生成任何临时文件。
----------------------------------------------------------------------------------------------------------
综合所有,本人的通用代码如下:
@echo off&setlocal enabledelayedexpansion
set "str=56 12 33 48 99 105 5 16"
for %%i in (%str%) do call,set var=!var! n%%in
for %%i in (%var%) do set a=%%i&call :lp
echo !var:n=!
pause>nul&goto :eof
:lp
for %%i in (%var%) do (
set b=%%i&set b=!b:~1,-1!&set c=%a:~1,-1%
if !b! lss !c! (
set var=!var:%a% =!
set var=!var:%%i=%%i %a%!
) else (
set var=!var!
)
)
再扩展:
@echo off&setlocal enabledelayedexpansion
set "str=%random% %random% -%random% %random% %random% %random% -%random%"
for %%i in (%str%) do call,set var=!var! n%%in
for %%i in (%var%) do set a=%%i&call :lp
echo !var:n=!
pause>nul&goto :eof
:lp
for %%i in (%var%) do (
set b=%%i&set b=!b:~1,-1!&set c=%a:~1,-1%
if !b! lss !c! (
set var=!var:%a% =!
set var=!var:%%i=%%i %a%!
) else (
set var=!var!
)
)
[ Last edited by zw19750516 on 2008-5-4 at 09:20 PM ]
