Почему следующий вызов метки завершает работу скрипта? - PullRequest
0 голосов
/ 11 ноября 2019

Я создал ярлык :checkNetworkDrive для проверки условия:

:checkNetworkDrive  
setlocal

if not exist %drive%\ (
    echo The specified drive does not exist
    exit /b 1
)
exit /b 0

Теперь вызов на этот ярлык из 2 вызовов работает по-другому. Вызов label1 работает правильно, т.е. печатается, существует / не существует, а вызов из label 2 завершает весь сценарий. Это связано с наличием setlocal enableDelayedExpansion в ярлыке 2?

label1:

set drive=...
call :checkNetworkDrive 
if %errorlevel% == 1 (
    echo "exists"
) else ( 
    echo "not exist"
)

label2:

setlocal enableDelayedExpansion
set drive=...
call :checkNetworkDrive 
if %errorlevel% == 1 (
    echo "exists"
) else ( 
    echo "not exist"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...