閱讀147 返回首頁    go 阿裏雲 go 技術社區[雲棲]


將某一目錄下所有的jar文件都加入到CLASSPATH當中的簡便寫法

將某一目錄下所有的jar文件都加入到CLASSPATH當中的簡便寫法

引用: https://www.javaeye.com/topic/244?page=2 中將某一目錄下所有的jar文件都加入到CLASSPATH的寫法,比較長:)

 

Quake Wang 寫道
代碼
  1. FOR %%i IN ("%HIBERN8IDE%/*.jar") DO CALL "setclasspath.bat" %%i   

 

setclasspath.bat:

代碼
  1. SET _CLASSPATHCOMPONENT=%1  
  2. :argCheck   
  3. IF %2a==a GOTO gotAllArgs   
  4. SHIFT   
  5. SET _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1  
  6. GOTO argCheck   
  7. :gotAllArgs   
  8. SET CLASSPATH=%_CLASSPATHCOMPONENT%;%CLASSPATH%   

 

簡便寫法如下:

 

代碼
  1. SetLocal EnableDelayedExpansion   
  2. FOR %%i IN ("XXX/lib/*.jar") DO SET CLASSPATH=!CLASSPATH!;%%~fsi   
  3. echo %CLASSPATH%   
  4. EndLocal   

 

第一句:啟用變量延遲;
第二句:循環將.jar文件加入,並以短路徑的形式加入;
比如:C:/Program Files/lib/XXX.jar
變為:C:/Progra~1/lib/XXX.jar
第三句:顯示設置後的CLASSPATH值;
第四句:還原係統環境設置

注意:第二句的!CLASSPATH! 與 %%~fsi 的寫法,特別是!CLASSPATH!而不是%CLASSPATH%

如果是想以相對徑的加入到CLASSPATH的話,就直接用

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

即可。

 

問題:我不知道以相對路徑後,長文件名也可以自動以短文件名來表示的方法:( 

最後更新:2017-04-02 00:06:17

  上一篇:go 關於對象數據庫 DB4O 的一些BUG以及如何應對的方法
  下一篇:go C++資源之不完全導引(完整版)