Board logo

标题: [文件操作] 如何比对节假日来确定批处理是否执行? [打印本页]

作者: oceanmeng    时间: 2011-10-1 19:07     标题: 如何比对节假日来确定批处理是否执行?

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

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

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

作者: oceanmeng    时间: 2011-10-1 19:46

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

如果findstr 找到的话,后要执行几行命令则如何弄? 用if?
作者: garyng    时间: 2011-10-1 22:58

  1. findstr "%today%" holiday.txt >nul && echo 是节假日 || echo 不是节假日
复制代码
&&是成功后执行命令
||是失败后执行命令
成功找到的话就用at删除任务~
作者: oceanmeng    时间: 2011-10-2 08:31

能否这样?
findstr "%today%" holiday.txt >nul
IF ERRORLEVEL 1 goto aa
IF ERRORLEVEL 0 goto bb
:aa
echo 是节假日
...
...
...
:bb
echo 不是节假日
exit
作者: 522235677    时间: 2011-10-3 09:15

回复 5# oceanmeng
貌似是可以的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2