批处理文件错误,“此时意外”

时间:2013-03-29 14:28:06

标签: batch-file dos

在DOS中的Windows批处理文件中,我收到以下错误:

45.0.31322.0 unexpected at this time.

数字45.0.31322.0AgtVersion变量的内容。

以下是代码:

if agentVersion: 45.0.31322.0==agentVersion: 45.0.31322.0 set AgtVersion=45.0.31322.0

:: Identify HPSA Agent Version
for /f "delims=" %%x in ('get_info.bat ^| find /i "agentVersion: 4"') do @set hpsaAGT=%%x

:: Checks agent version and store in new variable
if %hpsaAGT%==agentVersion: 45.0.31322.0 set AgtVersion=45.0.31322.0

:: THE ERROR HAPPENS HERE:
:: the above line throws a: "45.0.31322.0 unexpected at this time."

if %hpsaAGT%==agentVersion: 40.0.0.1.106 set AgtVersion=40.0.0.1.106
if agentVersion: 45.0.31322.0==agentVersion: 45.0.31322.0 set AgtVersion=45.0.31322.0

:: Display HPSA Agent Version and store in txt file
echo %AgtVersion%> c:\temp\hpsa_agent\hpsaAGT.txt
echo Current HPSA Core : %AgtVersion%

此错误消息的含义是什么?

1 个答案:

答案 0 :(得分:2)

您正在将变量与未加引号的字符串进行比较,其中包含空格。 DOS将agentVersion:45.0.31322.0解释为两个不同的标记。第二个令牌是意外的。

if %hpsaAGT%==agentVersion: 45.0.31322.0 

应该是:

if "%hpsaAGT%"=="agentVersion: 45.0.31322.0"