Datetime 创建批处理文件,以便在日期和时间正确时加载网页

Datetime 创建批处理文件,以便在日期和时间正确时加载网页,datetime,batch-file,webpage,Datetime,Batch File,Webpage,我试图得到一个网页加载时,日期和时间是正确的。我提出的代码是: @echo off :repeat set CurrentTime=%time:~0,2%.%time:~3,2% set CurrentDate=%date:/=-% echo. echo %CurrentDate% %CurrentTime% echo. IF %CurrentTime% == Tue 08-04-2014 13.04 goto load timeout /t 1 >nul goto repeat :loa

我试图得到一个网页加载时,日期和时间是正确的。我提出的代码是:

@echo off
:repeat
set CurrentTime=%time:~0,2%.%time:~3,2%
set CurrentDate=%date:/=-%
echo.
echo %CurrentDate% %CurrentTime%
echo.
IF %CurrentTime% == Tue 08-04-2014 13.04 goto load
timeout /t 1 >nul
goto repeat
:load
start/MAX iexplore.exe"" "http://www.youtube.com.au"
timeout /t 6 >nul
如果我从if语句中删除CurrentDate和date,它将起作用,但如果我不这样做,它将不会起作用。我确实需要工作的日期和时间。 谢谢


应该为你工作。您需要使用“引号”将字符串分组为单个实体,否则,如果
无法判断
==
是要比较的字符串的一部分还是比较运算符,则
。(假设您的日期格式为2014年4月8日星期二,时间为13.04),与Magoo发布的解决方案不同,请注意,
%date%
使用短日期格式返回当前日期,该格式可由用户完全无休止地自定义。一个用户可以将其系统配置为返回2014年4月8日星期二,另一个用户可以选择2014年4月8日星期二。对于一个蝙蝠程序员来说,这完全是一场噩梦。甚至在同一台电脑里。当展开包含文件名的变量时,
~t
修饰符也是如此

有几种解决方案,谷歌有点找到它们。我认为最简单的方法是使用WMIC

 WMIC Path Win32_LocalTime Get Day,Hour,Minute,Month,Second,Year /Format:table 
以方便的方式返回日期,以便使用
FOR
命令直接解析

 FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
    SET /A currentdate=%%F*10000+%%D*100+%%A
 )
 IF "%currentdate"=="20140408" goto load

如果符合您希望加载页面的原因,也可以使用计划任务

 FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
    SET /A currentdate=%%F*10000+%%D*100+%%A
 )
 IF "%currentdate"=="20140408" goto load