将某一目录下所有的jar文件都加入到CLASSPATH当中的简便写法

将某一目录下所有的jar文件都加入到CLASSPATH当中的简便写法

引用: http://www.iteye.com/topic/244?page=2 中将某一目录下所有的jar文件都加入到CLASSPATH的写法,比较长:)

[quote="Quake Wang"]

FOR %%i IN ("%HIBERN8IDE%\*.jar") DO CALL "setclasspath.bat" %%i


setclasspath.bat:

SET _CLASSPATHCOMPONENT=%1
:argCheck
IF %2a==a GOTO gotAllArgs
SHIFT
SET _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1
GOTO argCheck
:gotAllArgs
SET CLASSPATH=%_CLASSPATHCOMPONENT%;%CLASSPATH%
[/quote]

简便写法如下:


SetLocal EnableDelayedExpansion
FOR %%i IN ("XXX\lib\*.jar") DO SET CLASSPATH=!CLASSPATH!;%%~fsi
echo %CLASSPATH%
EndLocal


第一句:启用变量延迟;
第二句:循环将.jar文件加入,并以短路径的形式加入;
比如:C:\Program Files\lib\XXX.jar
变为:C:\Progra~1\lib\XXX.jar
第三句:显示设置后的CLASSPATH值;
第四句:还原系统环境设置

注意:第二句的!CLASSPATH! 与 %%~fsi 的写法,特别是!CLASSPATH!而不是%CLASSPATH%

如果是想以相对径的加入到CLASSPATH的话,就直接用

FOR %%i IN ("./lib/*.jar") DO SET CLASSPATH=!CLASSPATH!;%%i

即可。

问题:我不知道以相对路径后,长文件名也可以自动以短文件名来表示的方法:(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值