CODE: [Copy to clipboard]
关于记录某个"编号"的点的坐标:
set cut%i%="set /a a=%line%,b=%col%,c=%C2%" 这整个定义三个变量的语句都放在一个
编号变量里面了,嘿嘿,利用批处理的性质,之后要用到这三个变量时,一句 !cut%i%:"=! 就相当于执行
set /a a=%line%,b=%col%,c=%C2% 接下来就直接%a% %b% %c%表示,而非!var%num%!或者%%var%num%%%.
可见适当的利用这个性质可以省很多事儿的.CODE: [Copy to clipboard]
::BAT 代码效率测试程序,Made by Benton 2009-04-14
::测试单行BAT命令的用时,并可以把测试结果存入文件
::
@echo off&setlocal enabledelayedexpansion
set 次=1000
:rep
set 命=
echo.&echo.&echo.&echo.
echo. 测试代码运行时间
echo.
set /p 命=输入要测试的代码行:
if "!命!"=="" goto :eof
set 止=%起%
set 叠加=0
(echo set 起=%%time%%
for /l %%a in (1,1,%次%) do echo !命!
echo set 止=%%time%%
echo :sub)>temp.bat
:lp
call temp.bat
echo.&echo.
set "起=%起: =0%"
set "止=%止: =0%"
set/a #起=^(1%起:~0,2%-100^)*60*60*100+^(1%起:~3,2%-100^)*60*100+^(1%起:~6,2%-100^)*100+1%起:~9%-100
set/a #止=^(1%止:~0,2%-100^)*60*60*100+^(1%止:~3,2%-100^)*60*100+^(1%止:~6,2%-100^)*100+1%止:~9%-100
set/a 用时=#止-#起
echo.!命!
echo.运行%次%次用时 %用时%毫秒
echo.&echo.
set/a 重复+=1,叠加+=用时
set/p 止=是否保存记录[Y][R]:
if /i "!止!"=="R" goto :lp
set /a 用时=叠加/重复,重复=0
echo.
if /i "!止!"=="Y" (echo.!命!>>test_comm.txt&echo.=== %次% %用时% >>test_comm.txt&echo.已经存入...)
goto :rep