2013-10-14 3 views
0

У меня возникли проблемы с моим вложенным, если синтаксис, я постоянно получаю ошибку:партия Windows, вложенные функции синтаксис внутри функции

'ELSE' is not recognized as an internal or external command, operable program or batch file 

здесь функция:

:makejunction 
set LOCALFOLDER=%~1 
set QIFOLDER=%~2 
pushd %LOCALFOLDER% 2>nul 
IF errorlevel 1 (
    IF EXIST %LOCALFOLDER% ( 
     del "%LOCALFOLDER%" 
    ) 
) 
ELSE 
(
    rmdir /S /Q "%LOCALFOLDER%" 
) 
mklink /J "%LOCALFOLDER%" "%QIFOLDER%" 

Спасибо !!

+0

Retagged bash to batch – fedorqui

ответ

0

Я думаю, что вам нужен еще, чтобы быть непосредственно после того, как если, следовательно, (:

:makejunction 
set LOCALFOLDER=%~1 
set QIFOLDER=%~2 
pushd %LOCALFOLDER% 2>nul 
IF errorlevel 1 (
    IF EXIST %LOCALFOLDER% ( 
     del "%LOCALFOLDER%" 
    ) 
) ELSE (
    rmdir /S /Q "%LOCALFOLDER%" 
) 
mklink /J "%LOCALFOLDER%" "%QIFOLDER%" 

И это должно работать нормально

Mona

1

else и круглые скобки должны быть на та же линия:

:makejunction 
set "LOCALFOLDER=%~1" 
set "QIFOLDER=%~2" 
pushd "%LOCALFOLDER%" 2>nul 
IF errorlevel 1 (
    IF EXIST "%LOCALFOLDER%" del "%LOCALFOLDER%" 
) ELSE (
    rmdir /S /Q "%LOCALFOLDER%" 
) 
mklink /J "%LOCALFOLDER%" "%QIFOLDER%" 
Смежные вопросы