当前位置: 代码网 > it编程>前端脚本>Dos/bat > bat截取日期、时间之后进行 set /a 计算时08和09会被看做非法八进制数字

bat截取日期、时间之后进行 set /a 计算时08和09会被看做非法八进制数字

2024年05月19日 Dos/bat 我要评论
批处理bat中怎样进行时间间隔的判断?set xthh=%time:~0,2%set xtmm=%time:~3,2%set jksj=%xthh%%xtmm%if %jksj% leq 0830

批处理bat中怎样进行时间间隔的判断?

set xthh=%time:~0,2%
set xtmm=%time:~3,2%
set jksj=%xthh%%xtmm%
if  %jksj% leq 0830 (
echo 11111111111111
) else (
if  %jksj% geq 1730 (
echo 2222222222
) else (
echo 333333333333333
)
)

实现功能:jksj(0830<=jksj<=1730)时,输出333333,否则输出其它(111111或2222222222)。
jksj小于等于0830时,输出111111111111,jksj大于等于1730时输出2222222222,否则输出3333333333

问题:监控时间为0510-0726时,显示的不对。。存在bug。。。按理来说显示111111,现在却显示33333,是不是要经过什么特殊处理呢?请教各位前辈。。。

下面就是针对08和09会被看做非法八进制数字的解决方法

@echo off
set xthh=%time:~0,2%
set xtmm=%time:~3,2%
set jksj=%xthh%%xtmm%
if 1%jksj% leq 10830 (
    echo 11111111111111
) else (
    if  1%jksj% geq 11730 (
        echo 2222222222
    ) else (
        echo 333333333333333
    )
)
pause

说明

0开头的数字会被bat认为是八进制的数字,前面加个1可以避免此问题。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com