level 1
DOS命令也能用来测试软件?当然,只要你能巧妙运用,一切皆有可能。比如在软件测试中,一般都有一项关于软件启动时间的测试,以作为比较不同软件的运行效率的参考。如果你用眼睛紧盯着系统托盘中的小时钟来记录的话,肯定不是很精确,但是,组合运用DOS中几个常用命令,却可以漂亮地完成这一任务。 打开记事本,输入以下内容: echo "开始时间:" > test.txt time /t >> test.txt start "软件启动中..." /wait %1 echo "结束时间:" >>test.txt time /t >>test.txt start test.txt 将上面的内容保存为扩展名是bat的批处理文件(如:test.bat),放到桌面上。测试的时候,只需将要测试的程序(如:Photoshop.exe)拖放到桌面上的test.bat文件上,放开鼠标键后即可自动启动Photoshop;启动完闭,立即关掉Photoshop,test.bat批处理程序立即会打开一个文本文件,其中就已经记录了此次Photoshop启动所花的时间。 当然,这个脚本还过于简单,有兴趣的朋友可以进一步细化它,也是个不错的工具呢。 小提示 ★这一脚本中,最核心的是第3行中的“Start”命令,它是DOS中用来启动第三方程序的强大命令。其中的“/wait”参数,表示启动应用程序并等候它结束,然后再执行下面的语句。“%1”参数,表示执行批处理程序时所带的参数,即要测试的程序。在将Photoshop.exe程序拖放到test.bat上时,实际上等同于执行了类似“test.bat "D:\Program Files\Adobe\Adobe Photoshop CS3\Photoshop.exe"”这样的命令。 好帖要顶啊!!!
2008年11月16日 05点11分
1
level 2
妙!不过,启动完毕并未立即关掉启动的应用程序,启动时间显示未能精确到秒,只显示到分,因此,程序启动的时间根本无法确认,启动时间与结束时间一样,因为启动一个应用程序一般不到一分钟。
2008年11月16日 15点11分
2
level 5
@echo off
Setlocal Enabledelayedexpansion
Set "Data=%~1"
If "!Data!"=="/?" Call:Help "Message"&&Goto:Eof
If "!Data!"=="-?" Call:Help "Message"&&Goto:Eof
If "!Data!"=="" Call:Help "Error=1" "Message=没有参数"&&Goto:Eof
If Not Exist "%Data%" Call:Help "Error=2" "Message=找不到文件 - !Data!"
Set "Time_Start=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%"
"!Data!"
Set "Time_End=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%"
Set /A "Time_=!Time_End!-!Time_Start!"
Echo 程序已结束,用时 !Time_! 毫秒
Goto:Eof
:Help
If "%~1"=="Message" Goto Help_Message
For /F "tokens=2 delims==" %%t in ("%~1") Do Set "Error_Message=%%t"
For /F "tokens=2 delims==" %%t in ("%~2") Do Set "Error_Level=%%t"
Echo 错误:!Error_Message!
Echo 错误数值:!Error_Level!
Echo.
Echo 详见 %~nx0 /?
Goto:Eof
:Help_Message
Echo 测算一个程序需要多少时间...
Echo.
Echo %~nx0 [Drive:][Path][FileName]
Echo.
Echo 一次只支持一个文件...
Echo.
Echo By 专业的电脑医生
Goto:Eof
2009年07月05日 13点07分
4