windows - 在批处理文件中,如何检查今天的日期是否在设定日期之后?

标签 windows date datetime batch-file

我正在尝试检查今天的日期是否在特定日期之后,以便我可以制作一个仅在特定日期之后运行的批处理文件。

现在我有:

@ECHO off
IF %date% GTR 24/01/2015(
ECHO it is after 24/01/2015
)
pause

但这行不通。

最佳答案

为了比较日期,您需要去掉当前日期的各个组成部分,然后将它们重新组合成可比较的格式(YYYY-MM-DD):

@ECHO OFF

SET FirstDate=2015-01-24

REM These indexes assume %DATE% is in format:
REM   Abr MM/DD/YYYY - ex. Sun 01/25/2015
SET TodayYear=%DATE:~10,4%
SET TodayMonth=%DATE:~4,2%
SET TodayDay=%DATE:~7,2%

REM Construct today's date to be in the same format as the FirstDate.
REM Since the format is a comparable string, it will evaluate date orders.
IF %TodayYear%-%TodayMonth%-%TodayDay% GTR %FirstDate% (
    ECHO Today is after the first date.
) ELSE (
    ECHO Today is on or before the first date.
)

关于windows - 在批处理文件中,如何检查今天的日期是否在设定日期之后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28141220/

相关文章:

python - 如何以编程方式检测应用程序在 Windows 中崩溃?

windows - 如何通过 Batch 使用 WinRAR?

windows - 检查 Web 服务器并且不从同一服务器上的配置文件解析端口 80 和端口 8080

javascript - 如何停止 javascript 通过引用分配对象?

c# - C#计算两年间的闰年数

python - 如何将 Pandas 系列字符串转换为包含 1970 年之前日期的非标准格式的 Pandas 日期时间

python - 不正确的日期时间值 : '' 2012-07-14 23:00:0 0''

windows - 部署的 Qt5 应用程序不打印或不显示打印对话框

html - 如何为日期选择设置不同的宽度?

php - 从具有特定时区和特定 $now 值的相对日期/时间字符串获取时间戳