您现在的位置是:网站首页> 编程资料编程资料
bat截取日期、时间之后进行 set /a 计算时08和09会被看做非法八进制数字_DOS/BAT_
2023-05-25
137人已围观
简介 bat截取日期、时间之后进行 set /a 计算时08和09会被看做非法八进制数字_DOS/BAT_
批处理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可以避免此问题。
相关内容
- 批处理函数的高效另类应用(免call)_DOS/BAT_
- 批处理位运算演示代码_DOS/BAT_
- bat批处理位运算实例代码_DOS/BAT_
- 批处理bat函数:大数字加减乘除、时期时间计算、数字排序、进制转换等_DOS/BAT_
- 批处理BAT脚本中set命令的使用详解(批处理之家Batcher)_DOS/BAT_
- DOS比较运算符(LSS,LEQ,GTR,GEQ,EQU,NEQ)_DOS/BAT_
- DOS DEBUG实用小程序集锦_DOS/BAT_
- Windows下用bat命令行方式更改IE代理服务器设置方法_DOS/BAT_
- 解决bat批处理输出乱码的问题_DOS/BAT_
- windows 批处理bat连接本地mysql 创建制定数据 并执行sql文件_DOS/BAT_
