If statement 批处理文件,如果其他信息

If statement 批处理文件,如果其他信息,if-statement,batch-file,goto,If Statement,Batch File,Goto,如果不满足以下条件,我将尝试将脚本转到手动。 如果get_info.bat失败并抛出错误,我的脚本将停止并仅显示批处理文件错误(调用python脚本)。当满足条件但不满足错误/未满足条件时,它工作 for /f "tokens=1* delims=" %%x in ('get_info.bat ^| find /i "agentVersion: 4"') do @set HPSAAGT=%%x ECHO %HPSAAGT% IF "%HPSAAGT%"=="agentVersion: 45.0

如果不满足以下条件,我将尝试将脚本转到手动。 如果get_info.bat失败并抛出错误,我的脚本将停止并仅显示批处理文件错误(调用python脚本)。当满足条件但不满足错误/未满足条件时,它工作

for /f "tokens=1* delims=" %%x in ('get_info.bat ^| find /i "agentVersion: 4"') do @set HPSAAGT=%%x
ECHO %HPSAAGT%

IF "%HPSAAGT%"=="agentVersion: 45.0.31322.0" (set AGTVERSION=45.0.31322.0) ELSE IF "%HPSAAGT%"=="agentVersion: 40.0.0.1.106" (set AGTVERSION=40.0.0.1.106) ELSE (GOTO MANUAL)

代码对我来说很好。。。您的变量可能有问题。请尝试
echo-%HPSAAGT%-
查看变量中是否有多余的空格

此外,如果只需要版本号,则应使用字符串操作,例如:

echo %HPSAAGT:~14%
会导致

45.0.31322.0
很好


您的标签
:manual
中是否可能有拼写错误?

对我来说很好-张贴%HPSAAGT%的值是什么-不要让我们猜测。没有多余的空格:他说“满足条件时有效”对吗Stephen,Peter=99/100当变量等于HPSAAGT=agentVersion:45.0.31322.0 HPSAAGT=agentVersion:40.0.0.1.106以下两个变量中的任何一个时,它工作。如果get info或get_设施抛出错误,它应该转到手动,只调用手动安装程序。手动安装程序工作我遇到的问题是错误没有标记它只是停止了脚本。我的错误,我错过了@JimboMuldy您共享的代码是正确的,我们无法在没有看到其余部分的情况下进行故障排除。嗯-我看不出有什么理由,为什么GOTO不能工作。你有没有在标签:manual之后用“echo Yes I Jumped”进行验证?@JimboMuldy你说的“抛出错误”是什么意思?它甚至可以写入if-else语句吗?这是一个愚蠢的问题,但是,
手册
标签在同一批文件中,对吗?在文本编辑器中复制、粘贴、重新键入并突出显示重复变量。一切似乎都是一样的
if a==b (echo ab) else if b==c (echo bc) else (goto manual)
rem some more code
pause
:manual
echo Manual