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

[数值计算] 批处理两个数值if比较问题,求帮助

[复制链接]
发表于 2022-6-21 00:28:22 | 显示全部楼层 |阅读模式
  1. @echo off

  2. @mode con lines=20 cols=60

  3. echo.

  4. echo 正在验证状态,请稍候!

  5. echo.

  6. set Ymd=%date:~,4%%date:~5,2%%date:~8,2%

  7. for  /f  "skip=1 delims="  %%a  in  (E:\01.txt)  do  (
  8. set  a=%%~a
  9. goto :Show
  10. )
  11. :Show

  12. if "%Ymd%"LEQ"%a%"

  13. if "%Ymd%"GTR"%a%"

  14. pause
复制代码
这是我写的,也试过其他的都不行,ymd是当前系统时间年月日,a是从固定的txt提取出来的数据格式为“20220621”,两个数据格式一样,然后两个数据对比,如果ymd小于等于a则继续执行下面的命令,如过ymd大于a则返回文字信息并停止执行。
求高手指点。
发表于 2022-6-21 08:36:40 | 显示全部楼层
回复 1# sditwzh


请参考Q-04和Q-05把bat文件和txt文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
  3. for /f "skip=1 delims=" %%a in (E:\01.txt) do (
  4.     set "a=%%~a"
  5.     goto :Show
  6. )

  7. :Show
  8. if "%Ymd%" gtr "%a%" (
  9.     echo 返回文字信息并停止执行
  10.     goto :End
  11. )
  12. echo 执行下面的命令
  13. echo Hello World
  14. goto :End

  15. :End
  16. pause
复制代码
 楼主| 发表于 2022-6-21 14:23:03 | 显示全部楼层
回复 2# Batcher


    谢谢大神。
 楼主| 发表于 2022-6-21 14:36:38 | 显示全部楼层
本帖最后由 sditwzh 于 2022-6-21 14:37 编辑

回复 2# Batcher


    那如何对某一行某些文字单独加字体颜色呢,比如普通的回显是白色,关键的信息是红色,这个能实现吗

if "%Ymd%" gtr "%a%" (
    echo 验证无效
    goto :End
)
echo 验证通过
echo Hello World
goto :End
比如验证无效是红色,验证通过就是绿色
发表于 2022-6-21 18:02:21 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 21:54 , Processed in 0.016975 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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