Nested IF ( IF ( … ) ELSE( .. ) ) statement in batch

前端 未结 5 1127
春和景丽
春和景丽 2021-02-18 23:13

I\'m trying to write an IF ELSE statement nested inside another IF statement. Here\'s what I have:

IF %dirdive%==1 ( 
    IF DEFINED lo         


        
5条回答
  •  情书的邮戳
    2021-02-18 23:58

    Another solution is to use GOTO. Maybe not so elegant, but easy to understand.

    IF %dirdive%==1 ( 
        IF DEFINED log GOTO logdefined ELSE GOTO nolog
    )
    
    :logdefined
    ECHO %DATE%, %TIME% >> %log%
    FOR /R %root1% %%G IN (.) DO (
        SET _G=%%G
        CALL :TESTEVERYTHING !_G:~0,-1! %root1% %root2% %log%
    )
    GOTO :end
    
    :nolog
    ECHO %DATE%, %TIME%
    FOR /R %root1% %%G IN (.) DO (
        SET _G=%%G
        CALL :TESTEVERYTHINGnolog !_G:~0,-1! %root1% %root2%
    )
    GOTO :end
    

提交回复
热议问题