我在写一个批处理文件来升级某些系统。我需要从一个xml文件中解析一个日期并保存起来,以便稍后在文件中使用。日期的格式是yyyy \ MM \ dd。批处理文件ErrorLevel woes
我至今是:
@echo off
setLocal DisableDelayedExpansion
for /f "tokens=* delims= " %%G in (ConnectionManagement.xml) do (
set str=%%G
set mydate=%%G
echo got-
echo %%G
echo %mydate%
PAUSE
ECHO %mydate%|findstr /R /C:[0-9][0-9][0-9][0-9]\\[0-9][0-9]\\[0-9][0-9] > nul
IF ERRORLEVEL 0 goto valueok
)
echo DONE
PAUSE
goto end
:valueok
echo VALUEOK
:end
PAUSE
不幸的错误识别XML头为有效日期;但我认为这是为了重置ErrorLevel(?)。 mydate没有被设置,并且它将空变量mydate识别为匹配(!! ??)。输出是:
got-
<?xml version="1.0" encoding="utf-8"?>
ECHO is off.
Press any key to continue . . .
VALUEOK
Press any key to continue . . .
...
获得相当迫切需要一个解决方案。谢谢...
好吧,这工作。谢谢。现在怎么样mydate没有被正确设置。我在这里做错了什么? – kreid 2011-04-18 12:55:53
@Joey因此,我的评论“至少,如果你只希望积极的错误”;-) – 2011-04-18 14:10:13
啊,对不起;忽略那一个:) – Joey 2011-04-18 17:21:04