首页 > 解决方案 > Windows cmd:如何连接文件名?

问题描述

我正在尝试为后续java -cp %jarlist%命令编写类路径。为此,我需要连接*.jar子目录中所有文件的名称lib

到目前为止,这是我想出的:

SET jarlist=
FOR %%f IN ("lib\*.jar") DO SET jarlist=%jarlist%;%%f

echo jarlist='%jarlist%'

...但由于某种原因,字符串没有连接!最后,jarlist-variable 仅包含找到的最后一个 .jar 的名称,例如jarlist=';lib\slf4j-all.jar'

如果我 - 而不是连接它们 - 在循环内回显各个子字符串,那么各个值看起来是正确的:

FOR %%f IN ("lib\*.jar") DO echo %%f

由于某种原因,连接,即SET jarlist=%jarlist%;%%f在循环内不起作用。为什么?如何将所有值连接成一个字符串(用';'分隔)?

标签: windowsbatch-filecmd

解决方案


推荐阅读