Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在批处理脚本中的if语句中使用或_Batch File_Cmd_Scripting - Fatal编程技术网

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)