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

[日期时间] 【已解决】bat可以设定日期几号到几号可以运行,超过日期提示已过期

[复制链接]
发表于 2023-1-3 15:06:35 | 显示全部楼层 |阅读模式
本帖最后由 986981535 于 2023-1-4 14:05 编辑

请教各位
bat可以获取当前日期

set sj=%date:~0,10%

如何对把当前时间和某个时间对比,如果在某个期间就可以运行,超过或者还没打就不能运行。
 楼主| 发表于 2023-1-3 15:21:50 | 显示全部楼层
公司内有的电脑软件比较混乱,现发邮件通知各部门自行卸载,附卸载bat(封装autoit启动控制面板*-程序功能);由用户自行卸载,到期未卸载将发邮件通告。
数量较多3000多个软件。
发表于 2023-1-3 15:22:23 | 显示全部楼层
本帖最后由 bat1152 于 2023-1-3 16:00 编辑

好像只有纯数字才能用if语句比较哦。
可我觉得很麻烦...
 楼主| 发表于 2023-1-3 15:36:48 | 显示全部楼层
回复 3# bat1152


    那不是很麻烦,得一个一个提取去比较,多重嵌套比较。
发表于 2023-1-3 17:51:44 | 显示全部楼层
回复 2# 986981535


    什么系统,Win7? Win10?
发表于 2023-1-4 10:44:14 | 显示全部楼层
回复 1# 986981535
  1. @echo off
  2. set "BeginDate=2023-01-05"
  3. set "EndDate=2023-01-10"
  4. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d'"') do (
  5.     set "SysDate=%%i"
  6. )
  7. if "%SysDate%" lss "%BeginDate%" (
  8.     echo 未到可执行期间
  9. ) else if "%SysDate%" gtr "%EndDate%" (
  10.     echo 已过可执行期间
  11. ) else (
  12.     goto :Exec
  13. )
  14. pause
  15. goto :eof

  16. :Exec
  17. echo 需要执行的代码放在下面

  18. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
986981535 + 1 感谢

查看全部评分

 楼主| 发表于 2023-1-4 14:04:52 | 显示全部楼层
回复 5# Batcher


    win10,下面那个代码测试可行,感谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 06:36 , Processed in 0.023771 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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