установить глобальную переменную окружения в окружении setlocal - PullRequest
1 голос
/ 07 марта 2019

Мне интересно, может ли кто-нибудь помочь мне здесь ... У меня следующая проблема с моим bat-файлом:

script.bat:

SetLocal EnableDelayedExpansion
set variable=false
call :continue script2.bat
echo variable in script: %variable%
exit B /0

:continue
set batScript=%1
call %batScript%
call :error_but_continue
echo variable in continue: %variable%
exit /B 0

:error_but_continue
EndLocal & set variable=true
echo variable in error_but_continue: %variable%
exit /B 1

Я знаю, что сценарий теперь выглядит немного странно, просто потому, что это крошечный фрагмент полного большого изображения.

Мой вывод теперь следующий:

variable in error_but_continue: true
variable in continue: true
variable in script: false

Почему значение в самом скрипте теперь не установлено в "true"? Как это можно изменить, не удаляя общий «Setlocal» в начале скрипта?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...