我正在尝试找到一种方法来动态构建包含我的应用程序的WEB-INF / lib文件夹下的JAR文件列表的环境变量。
这是我到目前为止所做的,但它每次都会过度编写,所以当你到达循环结束时,你只需要在变量中设置循环中的最后一个文件。
SETLOCAL ENABLEDELAYEDEXPANSION
for %%f IN (WEB-INF/lib/*.jar) DO (
SET JAR_LIST=%JAR_LIST%;%%f
)
ECHO JAR_LIST -- %JAR_LIST%
所以这会产生......
C:\ apache \ Tomcat6.0 \ webapps \ myapp>(SET JAR_LIST =。; xsltcbrazil.jar)
C:\ apache \ Tomcat6.0 \ webapps \ myapp>(SET JAR_LIST =。; xsltcejb.jar)
C:\ apache \ Tomcat6.0 \ webapps \ myapp>(SET JAR_LIST =。; xsltcservlet.jar)
C:\ apache \ Tomcat6.0 \ webapps \ myapp> ECHO JAR_LIST - 。; xsltcservlet.jar
JAR_LIST - 。; xsltcservlet.jar
答案 0 :(得分:3)
更改
SET JAR_LIST=%JAR_LIST%;%%f
到
SET JAR_LIST=!JAR_LIST!;%%f
这将使用运行时值而不是加载时间值。 这样做可能更好,以避免领先;
SETLOCAL ENABLEDELAYEDEXPANSION
SET "JAR_LIST="
for %%f IN (WEB-INF/lib/*.jar) DO (
if "!JAR_LIST!"=="" (SET JAR_LIST=%%f) ELSE (SET JAR_LIST=!JAR_LIST!;%%f)
)
ECHO JAR_LIST -- %JAR_LIST%