Batch file 在批处理脚本中的if语句中使用或
我正在创建一个批处理脚本,在其中我必须比较版本,然后继续安装。当我在Batch file 在批处理脚本中的if语句中使用或,batch-file,cmd,scripting,Batch File,Cmd,Scripting,我正在创建一个批处理脚本,在其中我必须比较版本,然后继续安装。当我在中使用或(|)时,出现错误@。如果,如何在一个中比较两个条件?我尝试使用for循环,创建一个值列表,然后进行比较。这也给了我一个错误 @echo off set "python_ver=Python 3.7" set "python_major=(not found)" set "python_minor=(not found)" FOR /f "tokens=1,2 delims=." %%a IN ("%python_
中使用或(|
)时,
出现错误@。如果
,如何在一个中比较两个条件?我尝试使用for循环,创建一个值列表,然后进行比较。这也给了我一个错误
@echo off
set "python_ver=Python 3.7"
set "python_major=(not found)"
set "python_minor=(not found)"
FOR /f "tokens=1,2 delims=." %%a IN ("%python_ver%") do set
python_major=%%a & set python_minor=%%b
FOR /f "tokens=1,2 delims= " %%a IN ("%python_major%") do set
python_major=%%b
if %python_major%==3 (
if %python_minor% LSS 5 or if %python_minor% GTR 6 (
echo version not supported. should be 3.5 or 3.6
) else (
echo go to install
)
) else (
echo Please update your python
)
%phyton\u major%
真的应该是python3
?您最好将标记2和3与delims=dot和space一起使用:FOR/f“tokens=2,3 delims=。”%a in…
如果不能执行和或或如果%python\u minor%LSS 5(不支持回送版本。应该是3.5或3.6)其他操作(如果%python\u minor%GTR 5(echo去安装))
这工作正常。。。。。。。。。但当我添加或到第二个时,如果它显示错误。我必须添加另一个条件,即id%python_minor%是gtr 6,那么它也不应该允许。如果%python_major%==3(如果%python_minor%LSS 5(不支持echo版本。应为3.5或3.6)或者(echo转到安装))或者(echo请更新您的python)