• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

批处理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人参与评论

请发表评论

全部评论

专题导读
上一篇:
批处理函数的高效另类应用(免call)发布时间:2022-02-11
下一篇:
BAT批处理提取系统时间的实现代码(bug修复)发布时间:2022-02-11
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap