Solución:
No sé nada sobre Jenkins, pero parece que está intentando acceder a las variables de entorno utilizando alguna forma de sintaxis de Unix; eso no funcionará.
Si el nombre de la variable es WORKSPACE, entonces el valor se expande en el lote de Windows usando
%WORKSPACE%
. Esa forma de expansión se realiza en el momento del análisis. Por ejemplo, esto se imprimirá para mostrar el valor de WORKSPACE
echo %WORKSPACE%
Si necesita el valor en el momento de la ejecución, debe utilizar la expansión retardada !WORKSPACE!
. La expansión retrasada normalmente no está habilitada de forma predeterminada. Usar SETLOCAL EnableDelayedExpansion
para habilitarlo. La expansión retrasada a menudo es necesaria porque los bloques de código entre paréntesis y / o múltiples comandos concatenados por &
, &&
, o ||
se analizan todos a la vez, por lo que un valor asignado dentro del bloque no se puede leer más tarde dentro del mismo bloque a menos que utilice la expansión retardada.
setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)
El resultado de lo anterior es
Normal Expansion = BEFORE
Delayed Expansion = AFTER
Usar HELP SET
o SET /?
desde la línea de comandos para obtener más información sobre las variables de entorno de Windows y las diversas opciones de expansión. Por ejemplo, explica cómo realizar operaciones de búsqueda / reemplazo y subcadena.
En windows deberías usar %WORKSPACE%
.