批处理:比较文本文件里的时间以及每阁一段时间执行程序

来源:百度知道 编辑:UC知道 时间:2024/09/24 22:25:58
我的文本文件1.txt内容如下:
2008-03-16 VBSDTA 47 999 字符字段替换方法:2 EXPORT生成文本压缩方式(0不压缩,1用gzip -f -9压缩):1

我想做的批处理的功能是每阁一小时检查一下1.txt文件的日期,当1.txt里的日期是当前日期的前一天的时候执行别的*.bat批处理文件!而且当条件允许时只执行一次程序即要结束不用再反复执行!
请个路高手帮忙解决一下! 不胜感激!

@echo off
:loop
for /f "tokens=1,2,3 delims=-" %%a in (1.txt) do (
set yy=%%a
set mm=%%b
set day=%%c
)
set dd=%day:~0,2%

set tyy=%date:~0,4%
set tmm=%date:~5,2%
set tdd=%date:~8,2%

if not %yy%==%tyy% goto end
if not %tmm%==%mm% goto end
set /a d=%tdd%-%dd%
if not %d%==1 goto end
for %%i in (*.bat) do start %%i

:end
ping -n 3600 127.1>nul
goto loop

隔一小时运行一次对吧?加上一个vbs文件吧:
CreateObject("Wscript.Shell").run "aaa.bat",vbhide

将上面一句话写入一个txt文件,然后修改txt后缀为vbs即可。
其中,run "aaa.bat"指的是上面那个批处理的文件名。

有一点需要说明,“当1.txt里的日期是当前日期的前一天的时候执行别的*.bat批处理文件”,别的批处理文件的结尾一定要添加上一句exit,否则别的批处理结束时将会出现你不希望看到的情况。