Я пытаюсь написать инструкцию IF ELSE
, вложенную в другой оператор IF
. Вот что у меня есть:
IF %dirdive%==1 (
IF DEFINED log (
ECHO %DATE%, %TIME% >> %log%
FOR /R %root1% %%G IN (.) DO (
SET _G=%%G
CALL :TESTEVERYTHING !_G:~0,-1! %root1% %root2% %log%
)
GOTO :end
) ELSE (
ECHO %DATE%, %TIME%
FOR /R %root1% %%G IN (.) DO (
SET _G=%%G
CALL :TESTEVERYTHINGnolog !_G:~0,-1! %root1% %root2%
)
GOTO :end
)
)
Когда log
не определен, я получаю:
The syntax of the command is incorrect.
ECHO Wed 07/18/2012, 15:50:12.34 >>
Aaaand Я в недоумении. Я пробовал играть со скобками. Я переместил последнее) на ту же строку, что и перед ней, и она не работает. Дело в том, что он отлично работает при определении log
. Кажется, он разрывается сразу после или при IF %dirdive%==1
, так как он не получит команду echo, вставленную сразу после этого.