Far*_*rid 6 java batch-file classpath
我有一个.cmd文件启动的java应用程序.我想通过这个批处理设置应用程序的类路径,所有需要的jar都进入lib文件夹.
这是我尝试过的:
set _classpath=.
for %%i in (%1/lib/*.*) do ( set _classpath=%_classpath%;%%i )
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,它似乎没有像预期的那样发挥作用.假设lib文件夹中有3个jar:
这是发生的事情:
显然,我希望得到的是
任何的想法 ?
感谢致敬,
将其放在批处理文件的顶部:
setlocal enabledelayedexpansion
Run Code Online (Sandbox Code Playgroud)
然后在 for 循环中,替换%_classpath%为!_classpath!
如果没有启用延迟扩展,%_classpath%则在 for 循环开始时扩展一次。
[编辑]为了回应评论,这里是完整的代码清单
@echo off
setlocal enabledelayedexpansion
set _classpath=.
for %%i in (%1/lib/*.*) do (
set _classpath=!_classpath!;%%i
)
echo %_classpath%
pause
Run Code Online (Sandbox Code Playgroud)