以毫秒为单位打印批处理时间

时间:2012-10-24 16:32:33

标签: windows shell time batch-file

我知道可以使用@echo %time%将批处理时间打印到厘秒。是否有类似的命令来获得毫秒?

5 个答案:

答案 0 :(得分:1)

有一个名为Timethis的资源工具包实用程序可提供高达毫秒的时间测量:

TimeThis :  Command Line :  dir
TimeThis :    Start Time :  Wed Oct 24 12:49:56 2012
TimeThis :      End Time :  Wed Oct 24 12:49:56 2012
TimeThis :  Elapsed Time :  00:00:00.093

答案 1 :(得分:0)

(编辑:doh,没注意到它有windows标签。请留下这里的答案以防其他人点击这个用于Linux)

如果要求计算程序或脚本的执行长度,请在命令前加time,例如:

time ls -R

这将为您提供以毫秒为单位的执行时间:

real    0m0.667s
user    0m0.000s
sys     0m0.144s

如果您要求当前的日期和时间:

看看:

man date

例如,

date +"%X %N"

这将以小时为单位给出当前时间:分钟:秒,然后是纳秒

希望这能回答你的问题

答案 2 :(得分:0)

Gnu gdate可以使事情变得非常简单;例如,在批处理文件中尝试下面的代码。我使用它为在命令窗口中调用的批处理过程创建唯一的文件名,并且在Windows 7下的系统上,很明显,至少在命令窗口中,连续两次使用gdate永远不会产生相同的结果。

gdate +"%%Y%%m%%d%%H%%M%%S%%N"
gdate +"%%Y%%m%%d%%H%%M%%S%%N"

set i=
set T=
for /f %%i in ('gdate +%%Y%%m%%d%%H%%M%%S%%N') do set UniqueTime=%%i

echo %UniqueTime%

但是我实际上使用了类似于下面的代码行,舍弃了最后五位数字,因为对我而言,它们似乎无关紧要:前一部分始终是唯一的。这样可以使唯一文件名更短。

gdate +"%%Y%%m%%d%%H%%M%%S%%N" | sed "s/.....$//"

很明显,相同的表达式在Linux下也有效,因此人们也可以在那里使用它。

答案 3 :(得分:0)

ptime实用程序的精度为“ 5ms或更佳”

ptime echo hallo

ptime 1.0 for Win32, Freeware - http://www.pc-tools.net/
Copyright(C) 2002, Jem Berkes <jberkes@pc-tools.net>

===  echo hallo ===
hallo

Execution time: 0.022 s

答案 4 :(得分:0)

使用wmic os get LocalDateTime。这也是获取locale-independent date and time

的可靠方法
  (<trans-unit id=\"(.*?)\"(?!.*?approved=\"yes\".*?))>\r\n        <source xml:lang=\"de-de\">(.*?)<\/source>\r\n        <target xml:lang=\"en-us\">(.*?)<\/target>\r\n      <\/trans-unit>