找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31651|回复: 5

[日期时间] 批处理BAT中怎样进行时间间隔的判断?

[复制链接]
发表于 2014-3-3 14:14:20 | 显示全部楼层 |阅读模式
BAT内容如下:
  1. set XTHH=%time:~0,2%
  2. set XTMM=%time:~3,2%
  3. set JKSJ=%XTHH%%XTMM%
  4. if  %JKSJ% leq 0830 (
  5. echo 11111111111111
  6. ) else (
  7. if  %JKSJ% geq 1730 (
  8. echo 2222222222
  9. ) else (
  10. echo 333333333333333
  11. )
  12. )
复制代码
实现功能:JKSJ(0830<=JKSJ<=1730)时,输出333333,否则输出其它(111111或2222222222)。
               JKSJ小于等于0830时,输出111111111111,JKSJ大于等于1730时输出2222222222,否则输出3333333333

问题:监控时间为0510-0726时,显示的不对。。存在BUG。。。按理来说显示111111,现在却显示33333,是不是要经过什么特殊处理呢?请教各位前辈。。。
发表于 2014-3-3 14:20:25 | 显示全部楼层
  1. @echo off
  2. set XTHH=%time:~0,2%
  3. set XTMM=%time:~3,2%
  4. set JKSJ=%XTHH%%XTMM%
  5. if 1%JKSJ% leq 10830 (
  6.     echo 11111111111111
  7. ) else (
  8.     if  1%JKSJ% geq 11730 (
  9.         echo 2222222222
  10.     ) else (
  11.         echo 333333333333333
  12.     )
  13. )
  14. pause
复制代码
 楼主| 发表于 2014-3-3 14:20:55 | 显示全部楼层
我重换了一个方法,可能也存在问题

@echo off
setlocal enabledelayedexpansion

set XTHH=%time:~0,2%
set XTMM=%time:~3,2%
set JKSJ=%XTHH%%XTMM%

set /a var1=510
set /a var2=1050

echo %XTHH%
set /a aa= %XTHH% * 60
echo %aa%

echo %XTMM%
set /a cc=%aa% + %XTMM%
echo %cc%

if  %cc% leq %var1% (
echo 11111111111111
) else (
if  %cc% geq %var2%  (
echo 2222222222
) else (
echo 333333333333333
)
)

pause
发表于 2014-3-3 15:56:23 | 显示全部楼层
为什么前面要加一个1呢?

0开头的数字会被BAT认为是八进制的数字,前面加个1可以避免此问题。
 楼主| 发表于 2014-3-3 16:00:32 | 显示全部楼层
0开头的数字会被BAT认为是八进制的数字,前面加个1可以避免此问题。
Batcher 发表于 2014-3-3 15:56



    谢谢您,一下子就明白了。。。我后面重弄的那个方法,您看可以实现不?我简单测试了一下,还没有测到盲点,估计也存在BUG。。
发表于 2014-3-3 17:18:10 | 显示全部楼层
回复 5# strolley


不管可以还是不可以,都不建议使用。
一个月之后可能连你自己都记不清这个代码是什么意思了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 05:31 , Processed in 0.031894 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表