2 tjzhuorui tjzhuorui 于 2014.10.23 09:37 提问

一个关于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个回答

qq_27183003
qq_27183003   Ds   Rxr 2015.11.30 07:27

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

 for %%i in ("lib/*.jar") do (set CLASSPATH=%CLASSPATH%;%i)
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!