我完全不熟悉windows脚本 - 我可以粗略地阅读它,看看发生了什么,但是在编写时我基本上都是零。这是我想要做的。 我有以下脚本在windows批处理文件脚本中使用if语句
echo on
SET LOGNAME=%7
SET LOGNAME=%LOGNAME%.log
Set CURRDATE=%TEMP%\CURRDATE.TMP
Set CURRTIME=%TEMP%\CURRTIME.TMP
DATE /T > %CURRDATE%
TIME /T > %CURRTIME%
Set PARSEARG="eol=; tokens=1,2,3,4* delims=/, "
For /F %PARSEARG% %%i in (%CURRDATE%) Do SET YYYYMMDD=%%l%%k%%j%%i
Set PARSEARG="eol=; tokens=1,2,3,4* delims=:,. "
For /F %PARSEARG% %%i in (%CURRTIME%) Do Set HHMMSS=%%i%%j%%k%%l
sqlcmd -E -S %1 -d %2 -h-1 -b -w 1000 -Q "EXEC spTest %3,%4,%5 " -o %6Test_%YYYYMMDD%%HHMMSS%.DAT
IF ERRORLEVEL 1 GOTO FAILED
ECHO %YYYYMMDD% %HHMMSS% OK>>%LOGNAME%
GOTO END
:FAILED
ECHO %YYYYMMDD% %HHMMSS% FAILED>>%LOGNAME%
:END
EXIT /B %ERRORLEVEL%
不幸的是不时的文件的年月日部分缺失(不知道为什么出现这种情况 - 它非常罕见的 - 我只能认为这可能是奇怪的网络故障)。我想要做的是有一个if语句,以便如果YYYYMMDD为空,我将它设置为某个默认日期。 我将以下代码行插入我的代码 - 但这对我没有任何帮助。
if %YYYYMMDD% ==" " (set %YYYYMMDD% =20990101)
有什么建议吗?
感谢您的回复 - 非常有帮助 – misricko