if中的多个语句的语法不正确

时间:2017-07-20 09:51:48

标签: batch-file if-statement syntax-error

我尝试修改我的批处理代码以捕获更多案例。我有一行检查输入,我想对特定输入进行特定的初始化

这是输入调用:

:: get user input
set /p ph="Enter phase (e.g: 7, 8, 81, 82, 9, vs2, vs3): "

这是初始化:

::(loc2, loc3, synergy are all variables I use in different places)
    if %ph%==vs2(
        set loc2=C:\mp_4m_ph2
        set loc3=C:\mp_4m_ph2\mp_4m
        set synergy=C:\synergy\mp4m_ph2
        )

结果:

The syntax of the command is incorrect.

我不明白这里出了什么问题,因为我之前使用过:if %wantbackup%==n (goto start_delete)并且工作正常

如果我完全删除此if则没有错误。 我还在echo 1及其内部if验证了这是问题的位置。只打印之前的部分。

1 个答案:

答案 0 :(得分:0)

发现它!

使用if if %ph%==vs2(是非法的。括号前必须出现空格,如下所示:if %ph%==vs2 (