0

我试图打印名称中包含“jar-with-dependencies”的所有文件的名称。我写了下面几行来做到这一点。无法通过Jenkins打印其名称中包含特定字符串的文件

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

当我从bat文件运行下面的代码时,它运行并打印名称。但是,当我从詹金斯执行此操作时,出现错误,提示“系统找不到指定的文件”。我检查了詹金斯的文件夹位置,我在正确的文件夹中。我在这里做错了什么?任何帮助将非常感激。

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

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

第三尝试,还是同样的错误。

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

'设置 “的JARname = %%〜FG”''作为对/ R'循环遍历文件**递归子文件夹**,然后使用双引号'echo“%jarName%”' – JosefZ

+0

请注意'set“jarName = %%〜fG”'中的第一个双引号的位置。而且,'FOR/R'不能导致描述'系统找不到指定的文件'错误信息。问题出现在代码块内的百分比扩展。使用['SETLOCAL EnableDelayedExpansion&echo“!jarName!”&ENDLOCAL'](https://ss64.com/nt/delayedexpansion.html),或使用脚本范围的'SETLOCAL EnableDelayedExpansion'。对不起,我没有注意到它之前:) – JosefZ

+0

@JosefZ包围有问题吗?当我在for循环的同一行上打印名称时,会打印名称。我尝试过:FOR/R Services \ update-service %% i IN(“* jar -with-dependencies * .jar”)DO echo“%%〜fi” – mayooran

回答

相关问题