Windows批处理文件时间比较(Windows Batch File Time Compariso

2019-08-06 12:16发布

我想当前的系统时间进行比较来设定的时间。 请看下面:

 set currentTime=%TIME%
 set flag=false

 if %currentTime% geq 07:00 if %currentTime% leq 22:45 set flag=true

 if %flag%==true (


 ) else (

 )

如果时间是上午7时和10时45分之间,然后执行此操作,否则执行等。

问题是,这并不工作。 结果不断变化。 我认为这与我的比较,即,07:00做

Answer 1:

你的脚本失败的原因是时间前10 AM。 当时间少于10时,%时间%变量返回此格式: " H:MM:SS:ss" 。 然而,当10或更高版本的%Time%变量返回此格式: "HH:MM:SS:ss"

注意失踪0在时代的前beggining 10丢失。 这将导致一个比较的问题,因为一批是做一个字符串比较,而不是数值比较。

07:00小于6:00 ,由于这样的事实的ASCII值6比的ASCII值大于0

该解决方案要求你追加一个零的开始的时候,如果它是上午10点之前。

只是改变

set currentTime=%TIME%

set "currentTime=%Time: =0%"

这将在零时间更换任何空间。



文章来源: Windows Batch File Time Comparison