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



我正在尝试在日期和时间正确时加载网页。我想出的代码是:

@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 语句中删除当前日期和日期,它将起作用,但如果我不这样做,它就不会起作用。我确实需要日期和时间才能工作。谢谢。

IF "%date% %Time%"=="Tue 08-04-2014 13.04" goto load

应该为您工作。您需要使用"引号"将字符串分组为单个实体,否则IF无法判断==是要比较的字符串的一部分还是比较运算符。(这假设您的日期格式是Tue 08-04-2014并且时间是13.04

除了 Magoo 发布的解决方案之外,请注意,%DATE%使用用户完全且可无限自定义的短日期格式返回当前日期。一个用户可以将其系统配置为返回Tue 08/04/2014另一个用户可以选择Apr8th14。对于BAT程序员来说,这完全是一场噩梦。即使在同一台计算机上。扩展包含文件名的变量时,~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
如果计划

任务适合您要加载页面的原因,也可以使用计划任务。

相关内容

  • 没有找到相关文章

最新更新