以下两个都产生临时文件
(里面加上了计时代码,可以自己对比所用时间,实际使用去掉)
“最低价: %%j %%k.%%l”中间用TAB制表符间隔“%%j”“%%k”
最快速度(仅限LZ提供的文件):
::zh159@bbs.cn-dos.net 2007-1-15
@echo off
title 水产最低价^&最高价 zh159@bbs.cn-dos.net 2007-1-15
setlocal EnableDelayedExpansion
:loop
set time1=%time%
if not "%time1:~-2%" == "00" goto loop
for /f "tokens=1-3*" %%i in (a.txt) do set %%j.%%i.%%k=.
for /f "tokens=1-3*" %%i in (a.txt) do if not "%%j" == "!Type!" set Type=%%j&&call :Scan %%j
del list.txt
echo %time1%
echo %time%
pause
exit
:Scan
set "%1">list.txt
set Min=M
set Max=0
for /f "tokens=1-4* delims==." %%i in (list.txt) do (
if %%k%%l LEQ !Min! set Min=%%k%%l
if %%k%%l GEQ !Max! set Max=%%k%%l
)
echo %1:
echo.
for /f "tokens=1-4* delims==." %%i in (list.txt) do if "%%k%%l" == "%Min%" echo 最低价: %%j %%k.%%l
for /f "tokens=1-4* delims==." %%i in (list.txt) do if "%%k%%l" == "%Max%" echo 最高价: %%j %%k.%%l
echo.------------------------------
goto :eof
最少变量:
::zh159@bbs.cn-dos.net 2007-1-15
@echo off
title 水产最低价^&最高价 zh159@bbs.cn-dos.net 2007-1-15
setlocal EnableDelayedExpansion
:loop
set time1=%time%
if not "%time1:~-2%" == "00" goto loop
for /f "tokens=1-3*" %%i in (a.txt) do if not "%%j" == "!Type!" set Type=%%j&&call :Scan %%j
del list.txt
echo %time1%
echo %time%
pause
exit
:Scan
cd.>list.txt
for /f "tokens=1-4* delims=. " %%i in (a.txt) do if "%%j" == "%1" >>list.txt echo %%i %%k %%l
set Min=M
set Max=0
for /f "tokens=1-4*" %%i in (list.txt) do (
if %%j%%k LEQ !Min! set Min=%%j%%k
if %%j%%k GEQ !Max! set Max=%%j%%k
)
echo %1:
echo.
for /f "tokens=1-4*" %%i in (list.txt) do if "%%j%%k" == "%Min%" echo 最低价: %%i %%j.%%k
for /f "tokens=1-4*" %%i in (list.txt) do if "%%j%%k" == "%Max%" echo 最高价: %%i %%j.%%k
echo.------------------------------
goto :eof