Board logo

标题: [数值计算] 批处理怎样调用一个程序并计算出其运行时间(以毫秒计)? [打印本页]

作者: smjnk    时间: 2011-2-10 22:11     标题: 批处理怎样调用一个程序并计算出其运行时间(以毫秒计)?

我想在批处理中调用一个程序并计算出那个程序的运行时间   那个调用的程序很简单 一般只有几百甚至几十毫秒就运行完的 而set kai=%time% set jie=%time%本身也要时间吧  这样的话该怎么写才能够得到比较精确的时间我在网上搜索了一下 找到以下代码 不知这样可好@echo off
set kai=%time%
chenxu.exe
set jie=%time%
set TotalTime=0
set /a second1=1%kai:~-5,2%%kai:~-2%0-100000
::将起始时间的秒数转为毫秒
set /a second2=1%jie:~-5,2%%jie:~-2%0-100000
::将现在时间的秒数转为毫秒
set /a TotalTime+=%second2%-%second1%echo
你的程序运行时间为%TotalTime%ms


还有 上面代码中秒数转为毫秒这行 set /a second1=1%kai:~-5,2%%kai:~-2%0-100000 等号右边看不懂  麻烦顺便稍微解释一下

[ 本帖最后由 smjnk 于 2011-2-10 22:14 编辑 ]
作者: CrLf    时间: 2011-2-10 22:45

echo on一下就明白了

不是我说,这算法虽然大部分时候不会出错,但是真的很垃圾...
有现成的函数,可以搜一下

另外运行程序时应该用start /wait chenxu.exe,这样才会在运行完程序之后才记录结束时间

[ 本帖最后由 zm900612 于 2011-2-10 23:00 编辑 ]
作者: wc726842270    时间: 2011-2-10 22:52

set /a本身就是延时的命令。关于右边的CMD下SET/?
相关的材料这有。这试着找找吧,有搜索哦
作者: 810126769    时间: 2013-8-22 14:21

学习中!希望有热心人的指点!正在研究在bat中加代码计算bat运行的时间。可是一直不成功。
作者: zhshh    时间: 2013-8-22 16:18

echo %time%
call 你的程序
echo %time%
pause
行吗?
作者: DAIC    时间: 2013-8-22 17:00

回复 5# zhshh


你这个只能看到两个时间点,还是需要人脑去计算差值。
楼主是要电脑自动计算时间差值。
作者: zhshh    时间: 2013-8-22 20:30

回复 6# DAIC


    哦,知道了
作者: zhshh    时间: 2013-8-22 20:31

回复 6# DAIC


    我试着改改吧




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2