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

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

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

Quake Wang 写道
代码
  1. FOR%%iIN("%HIBERN8IDE%\*.jar")DOCALL"setclasspath.bat"%%i
render_code();

setclasspath.bat:

代码
  1. SET_CLASSPATHCOMPONENT=%1
  2. :argCheck
  3. IF%2a==aGOTOgotAllArgs
  4. SHIFT
  5. SET_CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT%%1
  6. GOTOargCheck
  7. :gotAllArgs
  8. SETCLASSPATH=%_CLASSPATHCOMPONENT%;%CLASSPATH%
render_code();

简便写法如下:

代码
  1. SetLocalEnableDelayedExpansion
  2. FOR%%iIN("XXX\lib\*.jar")DOSETCLASSPATH=!CLASSPATH!;%%~fsi
  3. echo%CLASSPATH%
  4. EndLocal
render_code();

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

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

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

代码
  1. FOR%%iIN("./lib/*.jar")DOSETCLASSPATH=!CLASSPATH!;%%i
render_code();
即可。

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

你可能感兴趣的:(C++,c,C#)