Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows批处理文件时间比较_Windows_Batch File_Cmd - Fatal编程技术网

Windows批处理文件时间比较

Windows批处理文件时间比较,windows,batch-file,cmd,Windows,Batch File,Cmd,我试图将当前系统时间与设定时间进行比较。请参阅下文: 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,你的脚本失

我试图将当前系统时间与设定时间进行比较。请参阅下文:

 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,你的脚本失败的原因是在上午10点之前。当时间小于10时,%time%变量返回以下格式:
“H:MM:SS:SS”
。但是,当10或更高版本时,
%Time%
变量返回以下格式:
“HH:MM:SS:SS”

注意
0
10
缺失之前的时间点缺失。这会导致比较问题,因为batch正在进行字符串比较,而不是数字比较

07:00
小于
6:00
,因为
6
的ASCII值大于
0
的ASCII值

如果时间在上午10点之前,解决方案要求在时间的开始处加一个零

只要改变就行了

set currentTime=%TIME%
进入

set "currentTime=%Time: =0%"

这将用零替换时间中的任何空格。

太好了!这是有道理的。谢谢你的帮助