无法通过Jenkins打印名称中包含特定字符串的文件

时间:2017-03-09 09:12:37

标签: batch-file jenkins command-line continuous-integration jenkins-cli

我正在尝试在名称中打印包含“jar-with-dependencies”的所有文件的名称。我写了以下几行来做这件事。

FOR /R serviceFolder %%G IN ("*jar-with-dependencies*.jar") DO (
set jarName="%%~nG"
echo %jarName%"
)

当我从bat文件运行以下代码时,它会运行并打印名称。但是当我从Jenkins执行此操作时,我收到一条错误消息“系统无法找到指定的文件。”我检查了Jenkins的文件夹位置,我在正确的文件夹中。我在这做错了什么?任何帮助将不胜感激。

第二次尝试,仍然没有运气:

FOR /R update-service %%G IN ("*jar-with-dependencies*.jar") DO (
set jarName="%%~fG"
echo "%jarName%"
)

第3次尝试,仍然是同样的错误。

SETLOCAL EnableDelayedExpansion
FOR /R update-service %%G IN ("*jar-with-dependencies*.jar") DO (
set "jarName=%%~fG"
echo "%jarName%"
)

1 个答案:

答案 0 :(得分:1)

StackOverflow代码相关的SuperUser[batch-file]上最常见的问题之一:

SETLOCAL EnableDelayedExpansion
FOR /R update-service %%G IN ("*jar-with-dependencies*.jar") DO (
    set "jarName=%%~fG"
    echo "!jarName!"
)

参考:Delayed Expansion