Ответ 1
Я ничего не знаю о Дженкинсе, но похоже, что вы пытаетесь получить доступ к переменным окружения, используя некоторую форму синтаксиса unix - это не сработает.
Если имя переменной - WORKSPACE, то значение расширяется в пакете Windows, используя
%WORKSPACE%
. Эта форма расширения выполняется во время разбора. Например, это будет печатать для отображения значения WORKSPACE
echo %WORKSPACE%
Если вам нужно значение во время выполнения, вам нужно использовать задержанное расширение !WORKSPACE!
. Отсроченное расширение обычно не включено по умолчанию. Используйте SETLOCAL EnableDelayedExpansion
, чтобы включить его. Зачарованное расширение часто необходимо, потому что блоки кода в круглых скобках разобраны все сразу, поэтому значение, назначенное внутри блока, не может быть прочитано позже в том же блоке, если вы не используете задержанное расширение.
setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)
Вышеуказанный результат
Normal Expansion = BEFORE
Delayed Expansion = AFTER
Используйте HELP SET
или SET /?
из командной строки, чтобы получить дополнительную информацию о переменных среды Windows и различных вариантах расширения. Например, в нем объясняется, как выполнять операции поиска/замены и подстроки.