如何使用IF ELSE命令

时间:2018-11-16 20:49:44

标签: batch-file

我是一名初级编码员,批量创建基于文本的游戏,我想知道如何在代码中说出以下内容:

If {these variables} have been defined 
Then goto {this loop} 
Else goto {other loop}

如果任何人都有教程的链接,或者可以通过堆栈回答,那就太棒了!谢谢!

2 个答案:

答案 0 :(得分:2)

这只是您可以测试以查看是否已定义所需的所有变量的一种方法。您可以使用FOR命令来遍历所有变量名,并使用IF命令来查看它们是否已定义。然后,我设置两个计数器。一种用于定义的变量总数,另一种用于定义的变量总数。

@echo off

REM Change these variables to test logic
set "var1=one"
set "var2=two"
set "var3=3"

set "allvars=var1 var2 var3"

set "vcnt=0"
set "defcnt=0"
FOR %%G IN (%allvars%) do (
    set /a vcnt+=1
    IF DEFINED %%G SET /a defcnt+=1
)

IF %vcnt% equ %defcnt% (
    GOTO allvars
) else (
    GOTO notdefined
)

:allvars
echo All variables defined
GOTO END

:notdefined
echo Some variables not defined
GOTO END

:END
pause

答案 1 :(得分:2)

将其放入一个循环中,如果只定义了一个变量,则将其中断

For %%A in (these variables) Do If not defined %%A goto :otherloop
Echo all vars defined
Goto :eof

:otherloop 
Echo not all vars defined