标题: [新手习题]批处理计算程序打开花了多少时间 [打印本页]
作者: Seter 时间: 2009-8-24 13:59 标题: [新手习题]批处理计算程序打开花了多少时间
仅仅是新手习题,考察大家对批处理的熟悉程度,没有算法,高手无视此题叭~
有一些时候因为某些特殊原因,需要获取某个程序打开的速度----也就是说一个程序,从双击打开,到完全加载完成,再完全关闭所经过的总时间.
于是乎,有的同学捧着秒表计时,高级一点的用系统自带的"日期和时间"来计时.这两种方法不仅累人,而且有较大误差,最最鸡肋的是,有些程序貌似关闭了,其实还要在"任务管理器"中喝会儿茶呢(devenv.exe和QQ家族就是如此)
那能不能使用简单的批处理语句,输出打开时间与关闭时间呢?
提示和要求:- 1.
- 可以保证任何输入或文件全部正确,也就是不需要容错(能加入支持最好~)
- 2(可选).
- 提供两种模式输入:第一种是将exe文件拖曳到批处理文本上(提示:%1);第二种是在直接打开批处理时,提示输入exe文件位置,并且输入后自动清屏
- 3.
- 批处理自动运行程序(提示:在此之前记录打开时间),在完全打开后不需要自动关闭程序
- 4.
- 对于打开时间(提示:%time%)和关闭时间,仅输出时,分,秒,毫秒,毫秒必须有三位,但是最后一位可以不准确(也就是精确到0.01毫秒)
- 5.
- 输出要测试文件名称,路径可加可不加
- 6.
- 在输出完成后暂停(没有提示),以便记录
复制代码
输出示例:- 文件:D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
- 打开时间:13:51:49.511
- 关闭时间:13:51:53.191
复制代码
如果没有思路,可以看看下面这个帖子:
http://bbs.bathome.net/thread-5659-1-1.html
[ 本帖最后由 Seter 于 2009-9-19 14:33 编辑 ]
作者: DXSX 时间: 2009-8-25 19:22
理论上,用 start命令 启动要运行的程序,在start 前后分别显示 %time% 变量就可以了。
把下面内容编辑成一个cmd 批处理,然后把要运行的程序拖放到该批处理就可以了。
多谢 4楼指导,现已精简。
@ECHO OFF
if %1*==* goto error1
echo 文件:%1
SET NAME=%~1
:top
echo 开始时间:%time%
start /wait "" "%name%"
echo 关闭时间:%time%
goto end
:error1
echo 没有指定运行的程序。
:end
pause
[attach]1805[/attach]
[ 本帖最后由 DXSX 于 2009-8-26 19:53 编辑 ]
作者: DXSX 时间: 2009-8-26 17:22
为啥不评分?555555
作者: yslyxqysl 时间: 2009-8-26 17:48
2L的方案过于麻烦 没有掌握cmd的线程处理机制
作者: defanive 时间: 2009-8-26 18:38
start可以启动带空格和长文件名
start /wait "" "路径"
这个问题提了很多次了。。。
作者: DXSX 时间: 2009-8-26 19:48
多谢 楼上2位老大指点
作者: canyuexiaolang 时间: 2009-9-19 15:21
- @echo off
- :a
- cls
- set /p c=请输入路径:
- if "%c%"=="" goto a
- set a="%time%"
- start /wait "" ""%c%""
- set b="%time%"
- echo 所属路径:%c%
- echo 打开时间:%a%
- echo 关闭时间:%b%
- pause>nul
复制代码
[ 本帖最后由 canyuexiaolang 于 2009-9-19 15:22 编辑 ]
作者: kisyan 时间: 2009-10-11 02:00
@echo off
set /p ver=请输入程序路径,或直接拖拽到批处理窗口,按回车执行:
echo.程序开始运行%time%
set var=%time%
start /w "" %ver%
set vsr=%time%
cls
echo.文件:%ver%
echo.打开时间%var%
echo.关闭时间%vsr%
pause>nul
本人新手 希望多多指点
[ 本帖最后由 kisyan 于 2009-10-11 02:08 编辑 ]
作者: Seter 时间: 2009-10-11 09:40
等等...你的%ver%作为参数...没看清楚...
我习惯加引号 (*^__^*)
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |