代码
@echo off
::注意乱码请转为ANIS
::秒 0~9
set /a sTime1=%time:~7,1%
::100ms 0~9
set /a sTime2=%time:~9,1%
::10ms 0~9
set /a sTime3=%time:~10,1%
::开始时间单位ms
set /a sTime=%sTime1%*1000+%sTime2%*100+%sTime3%*10
::echo指令大概会有10ms的误差
echo 开始时间%sTime%
::test.exe是一个做两个数加法的程序
::首次运行大概有100ms的误差因为要读取数据进内存 or 缓存区?
echo 1024 1024|test.exe
::秒 0~9
set /a eTime1=%time:~7,1%
::100ms 0~9
set /a eTime2=%time:~9,1%
::10ms 0~9
set /a eTime3=%time:~10,1%
::结束时间单位ms
set /a eTime=%eTime1%*1000+%eTime2%*100+%eTime3%*10
echo 结束时间%eTime%
::获得耗时单位ms
::注意时间循环
set costTime=0
if %eTime% GEQ %sTime% (
set /a costTime=%eTime%-%sTime%
) else (
set /a costTime=%eTime%-%sTime%+10000
)
echo 耗时%costTime%ms
pause
截图