Embed攻城狮 2014-10-23 01:37 采纳率: 0%
浏览 1583

一个关于bat脚本的问题

请教一个问题:
我又一个文件夹叫做datamanager,这个文件夹下有一个lib文件,lib文件里面有很多很多的jar,我需要写一个for循环,来加载所有jar,当我的脚本如下时,ok没有问题:
set CLASSPATH=./classes

for %%i in ("lib/*.jar") do call :LIBAPPEND %%i

@echo ================================================
@echo %CLASSPATH%
@echo ************************************************

:LIBAPPEND
set CLASSPATH=%CLASSPATH%;%1

可是,当我写成这样的时候
set CLASSPATH=./classes

for %%i in ("lib/*.jar") do (
set CLASSPATH=%CLASSPATH%;%%i
)

@echo ================================================
@echo %CLASSPATH%
@echo ************************************************

死活只能输出最后一个jar包了。

实在不明白两种方式有什么区别,请教为什么??

  • 写回答

1条回答 默认 最新

  • ysuwood 2015-11-29 23:27
    关注

    是不是多了一个%,试试下面:

     for %%i in ("lib/*.jar") do (set CLASSPATH=%CLASSPATH%;%i)
    
    评论

报告相同问题?