<a href="http://yulimin.javaeye.com/blog/60385">将某一目錄下所有的jar檔案都加入到classpath當中的簡便寫法</a>
引用: http://www.javaeye.com/topic/244?page=2 中将某一目錄下所有的jar檔案都加入到classpath的寫法,比較長:)
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%
簡便寫法如下:
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
即可。
問題:我不知道以相對路徑後,長檔案名也可以自動以短檔案名來表示的方法:(