If语句的错误?

时间:2015-07-17 04:10:43

标签: batch-file if-statement

我有一个456行的批处理文件,并且接近结尾,如果语句比较以下所有的变量

if "%user%" EQU "%temp%"
if %user% EQU %temp%
if %user% == %temp%
if "%user%" == "%temp%"
if %user% == 0
if "%user%" == "0"
if %user% EQU 0
if "%user%" EQU "0"

出现错误

  

该命令的语法不正确

(temp始终等于0,用户等于2,1或0)

如果前两行在其末尾没有echo ...,则会出现语法错误

if "%enemy%" == "%temp%"( echo ...
  if NOT '%choice%'=='1'( echo ...
    if %enemyat% GTR %resistance% ( 
      set /a health-=1
      set /a resistance=16+8*%resistancelvl%
    ) else ( 
      set /a resistance-=%enemyat%
    )
  )
)

2 个答案:

答案 0 :(得分:2)

你在前两行的(之前错过了一个空格。

if "%enemy%"=="%temp%" ( 
    if NOT '%choice%'=='1' ( 
        if %enemyat% GTR %resistance% ( 
            set /a health-=1
            set /a resistance=16+8*%resistancelvl%
        ) else ( 
            set /a resistance-=%enemyat%
        )
    )
)

答案 1 :(得分:0)

尝试if %user%==0if %user%==%temp%

注意' =='之间缺少间距。和变量。