[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何比对节假日来确定批处理是否执行?

我写了一“A.bat”文件,并配置了任务计划,每天10:00执行,但现在要求在节假日期间不执行,因此我做了一个节假日参数文件holiday.txt,每行配置节假日(YYYYMMDD格式),如:
20111001
20111002
.....
.....

这样我在A.bat中如何做日期判断,看看当前日期在不在holiday.txt中,如果在,则不执行后面的批处理,这块不会(比如如何读holiday.txt文件,如何循环日期等),忘高手帮忙,谢谢

  1. @echo off
  2. set today=%date:-=%
  3. findstr "%today%" holiday.txt >nul && echo 是节假日 || echo 不是节假日
  4. pause
复制代码

TOP

findstr "%today%" holiday.txt >nul && echo 是节假日 || echo 不是节假日

如果findstr 找到的话,后要执行几行命令则如何弄? 用if?

TOP

  1. findstr "%today%" holiday.txt >nul && echo 是节假日 || echo 不是节假日
复制代码
&&是成功后执行命令
||是失败后执行命令
成功找到的话就用at删除任务~

TOP

能否这样?
findstr "%today%" holiday.txt >nul
IF ERRORLEVEL 1 goto aa
IF ERRORLEVEL 0 goto bb
:aa
echo 是节假日
...
...
...
:bb
echo 不是节假日
exit

TOP

回复 5# oceanmeng
貌似是可以的

TOP

返回列表