Windows 批量嵌套函数语法在函数内



我的嵌套 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%" 

谢谢!!

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

我认为你需要 else 直接在 if 之后,因此(

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

这应该可以正常工作

蒙纳

最新更新