Windows 如何在特定日期运行批处理文件

Windows 如何在特定日期运行批处理文件,windows,batch-file,Windows,Batch File,我想在2014年2月14日情人节运行一个简单的批处理文件,只显示一行消息 我需要在代码中写入日期(2014年2月14日),而不是在windows中作为任务调度器。因此,批处理将每天在windows启动时不做任何事情,直到该日期显示消息 我只需要检查日期的代码 谢谢你抽出时间 在.bat文件中运行的以下代码将以本地不可知的方式获取日期(根据用户的设置,%date%的输出格式可能会更改),然后使用子字符串以您想要的格式(dd-mm-yyyy)设置今日。然后,IF语句检查日期是否为今天,并回显Hell

我想在2014年2月14日情人节运行一个简单的批处理文件,只显示一行消息

我需要在代码中写入日期(2014年2月14日),而不是在windows中作为任务调度器。因此,批处理将每天在windows启动时不做任何事情,直到该日期显示消息

我只需要检查日期的代码


谢谢你抽出时间

在.bat文件中运行的以下代码将以本地不可知的方式获取日期(根据用户的设置,
%date%
的输出格式可能会更改),然后使用子字符串以您想要的格式(dd-mm-yyyy)设置
今日
。然后,
IF
语句检查日期是否为今天,并回显
Hello如果是

@ECHO OFF
FOR /F "skip=1" %%x IN ('wmic os get localdatetime') DO IF NOT DEFINED dmy_date SET dmy_date=%%x
SET today=%dmy_date:~6,2%-%dmy_date:~4,2%-%dmy_date:~0,4%

IF %today% == 14-02-2014 ECHO Hello!
::新界

echo off
set $Valentine=14-02-2014
set $TodayDate=%date:~0,2%-%date:~3,2%-%date:~6,4%
if %$TodayDate%==%$Valentine% echo "Happy Valentine Day My Love"
::对于XP

echo off
set $Valentine=14-02-2014
set $TodayDate=%date:~4,2%-%date:~7,2%-%date:~10,4%
if %$TodayDate%==%$Valentine% echo "Happy Valentine Day My Love"

“仅显示一行消息”是什么意思?要将消息回显到屏幕?是的,我只想显示“HI”消息
%date%
变量不可靠,取决于区域设置和位置。明智的做法是使用一个函数返回一个到处都相同的日期字符串,比如
Wmic
,用于
XP Pro
及以上版本。实际上,您的权限是正确的,但在99.9%的情况下,此代码是可以的,如果不可以,则很容易适应:)感谢Xdrive、Jared Harley、sachadee、Chelesawillrecover为您花费的时间。