0

ネストされた if 構文に問題があり、エラーが発生し続けます。

'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%" 

ありがとうございました!!

4

2 に答える 2

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%" 
于 2013-10-14T22:37:03.813 に答える
0

ifの直後に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%" 

そして、それはうまくいくはずです

モナ

于 2013-10-14T22:36:44.717 に答える