如何在CMD中使用IF命令检查多个变量的匹配条件?

如何在CMD中使用IF命令检查多个变量的匹配条件?,cmd,Cmd,我是CMD的新手。我在想;是否可以使用IF命令一次检查不同变量上的多个条件?我的意思是,如果您想同时检查两个不同的变量以匹配给定的条件,IF命令的语法是什么? 我是说那东西存在吗?比如: 如果%%variable1%%==variableone和%variable2%%==variabletwo做事 我一直想自己解决这个问题,但找不到办法。不断出错。可能命令的语法有问题,或者我遗漏了什么。您不能使用逻辑运算符,但可以这样做: IF %%variable1%% == variableone IF

我是CMD的新手。我在想;是否可以使用IF命令一次检查不同变量上的多个条件?我的意思是,如果您想同时检查两个不同的变量以匹配给定的条件,IF命令的语法是什么? 我是说那东西存在吗?比如:

如果%%variable1%%==variableone和%variable2%%==variabletwo做事


我一直想自己解决这个问题,但找不到办法。不断出错。可能命令的语法有问题,或者我遗漏了什么。

您不能使用逻辑运算符,但可以这样做:

IF %%variable1%% == variableone IF %variable2% == variabletwo GOTO :DOSTUFF


实现逻辑AND的另一种方法:

if "%variable1%@%variable2%" == "variableone@variabletwo" goto :dostuff
注1:
@
只是一个分隔符,用于确保
foo
+
bar
foob
+
ar
的处理方式不同。(
foo@bar
vs.
foob@ar
)如果没有分隔符,两者都会给出
foobar

注2:当比较的一侧为空时,引号可防止语法错误


注3:我假设,
%%variable1%%
是一个键入错误,应该读为
%variable1%

谢谢。非常感谢!可能重复的
if "%variable1%@%variable2%" == "variableone@variabletwo" goto :dostuff