Я создал ярлык :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"
)