Ich versuche, Jenkins (Global) -Umgebungsvariablen in meinem xcopy-Skript zu verwenden.
${WORKSPACE} doesn't work
"${WORKSPACE}" doesn't work
'${WORKSPACE}' doesn't work
Antworten:
Ich weiß nichts über Jenkins, aber es sieht so aus, als würden Sie versuchen, mit einer Unix-Syntax auf Umgebungsvariablen zuzugreifen - das wird nicht funktionieren.
Wenn der Name der Variablen WORKSPACE lautet, wird der Wert im Windows-Batch mit erweitert
%WORKSPACE%. Diese Form der Erweiterung wird zur Analysezeit durchgeführt. Dies wird beispielsweise gedruckt, um den Wert von WORKSPACE anzuzeigen
echo %WORKSPACE%
Wenn Sie den Wert zur Ausführungszeit benötigen, müssen Sie die verzögerte Erweiterung verwenden !WORKSPACE!. Die verzögerte Erweiterung ist normalerweise nicht standardmäßig aktiviert. Verwenden Sie SETLOCAL EnableDelayedExpansion, um es zu aktivieren. Verzögerte Expansion ist oft , weil Code - Blöcke benötigt in Klammern und / oder mehr Befehle verkettet durch &, &&oder ||alle auf einmal analysiert, so dass ein Wert innerhalb des Blockes zugewiesen kann später nicht mehr in demselben Block gelesen werden , wenn Sie verzögert Expansion verwenden.
setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)
Die Ausgabe der oben genannten ist
Normal Expansion = BEFORE
Delayed Expansion = AFTER
Verwenden Sie HELP SEToder SET /?über die Befehlszeile, um weitere Informationen zu Windows-Umgebungsvariablen und den verschiedenen Erweiterungsoptionen zu erhalten. Beispielsweise wird erläutert, wie Such- / Ersetzungs- und Teilzeichenfolgenoperationen ausgeführt werden.
In Windows sollten Sie verwenden %WORKSPACE%.
Ich sollte dies tun Unter Windows ist die Erweiterung der Umgebungsvariablen% BUILD_NUMBER%