Linux 下的 time 命令可以获取命令执行时间,Windows 下并没有类似的命令。windows下 实现类似linux下 ”time 命令“ 显示命令执行时间,可使用以下脚本保存为time.bat ,例如:time.bat dir /a
time。time.bat文档放在当前cd所在位置,方可以在prompt中进行调用。
在window中先建立txt文档,输入以下代码,并另存为bat格式文档。
@echo off
@setlocal
::
set start=%time%
::
:: Runs your command
cmd /c %*
::
set end=%time%
set options="tokens=1-4 delims=:.,"
for /f %options% %%a in ("%start%") do set start_h=%%a&set /a start_m=100%%b %% 100&set /a start_s=100%%c %% 100&set /a start_ms=100%%d %% 100
for /f %options% %%a in ("%end%") do set end_h=%%a&set /a end_m=100%%b %% 100&set /a end_s=100%%c %% 100&set /a end_ms=100%%d %% 100
::
set /a hours=%end_h%-%start_h%
set /a mins=%end_m%-%start_m%
set /a secs=%end_s%-%start_s%
set /a ms=%end_ms%-%start_ms%
if %ms% lss 0 set /a secs = %secs% - 1 & set /a ms = 100%ms%
if %secs% lss 0 set /a mins = %mins% - 1 & set /a secs = 60%secs%
if %mins% lss 0 set /a hours = %hours% - 1 & set /a mins = 60%mins%
if %hours% lss 0 set /a hours = 24%hours%
if 1%ms% lss 100 set ms=0%ms%
::
:: Mission accomplished
set /a totalsecs = %hours%*3600 + %mins%*60 + %secs%
echo command took %hours%:%mins%:%secs%.%ms% (%totalsecs%.%ms%s total)
生成完time.bat文件后,在后面用调用的命令行前加time.bat + order就好啦!
D:\Project\visualstudio\workspace\Paddle\build>time.bat cmake .. -GNinja -DWITH_GPU=OFF -DWITH_UNITY_BUILD=ON