标题: 在bat中进行日期比较时,不执行
[打印本页]
作者: whj0431
时间: 2008-1-9 00:16
标题: 在bat中进行日期比较时,不执行
@echo off
date/t > %ddate%
echo %ddate%
if /i %ddate% lss "2008-03-31 星期二 " (
spant.exe
) else (
oemdiy.exe
)
程序一闪就过去了,没有执行spant.exe 或oemdiy.exe 这是为什么?
作者: zh159
时间: 2008-1-9 00:37
@echo off
set ddate=%date:~0,10%
set ddate==%ddate:-=%
if /i %date% lss "20080331" (
spant.exe
) else (
oemdiy.exe
)
作者: whj0431
时间: 2008-1-9 23:39
谢谢,用你的代码,稍作修正已经运行成功了,
@echo off
set ddate=%date:~0,10%
set ddate==%ddate:-=% 这里不明白,能否解释一下?
if /i
%ddate% lss "20080331" ( 把%date%改为%ddate%
spant.exe
) else (
oemdiy.exe
)
[
Last edited by whj0431 on 2008-1-9 at 11:44 PM ]
作者: zh159
时间: 2008-1-10 03:14
set ddate=%ddate:-=%
不好意思,多了一个等号
作者: whj0431
时间: 2008-1-10 19:16
在学习p的过程中,遇到不少问题,就这个时间判断问题困扰我很长时间。
还是上面的代码:
@echo off
set ddate=%date:~0,10%
set ddate=%ddate:-=%
if /i %ddate% lss "20080331" (
spant.exe
) else (
oemdiy.exe
)
xp sp2系统,如果当前时间是20080110,那么应该运行spant.exe
将时间改为20090110,应该运行oemdiy.exe
但是cmd窗口只是一闪而过,为什么呢?
作者: zh159
时间: 2008-1-10 19:29
忘了多了对双引号,文件的路径要对
@echo off
set ddate=%date:~0,10%
set ddate=%ddate:-=%
if %ddate% lss 20080331 (
echo spant.exe
) else (
echo oemdiy.exe
)
pause