0

アプリの 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

4

1 に答える 1

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%
于 2013-07-11T16:40:12.177 に答える