2010-03-16 7 views
0

lib 폴더 아래에있는 모든 *.jar 파일을 사용하여 자동으로 클래스 경로를 생성하고 싶습니다.배치 : 절대 경로로 모든 하위 파일을 나열하십시오.

절대 경로와 함께 모든 파일을 나열하는 방법을 찾을 수 없어서 classpath 변수를 만들 수 있습니다.

/s을 사용하여 재귀 적으로 이동하더라도 dir 명령이 절대 경로를 가져올 수 없습니다.

기본적으로 내가 생각했던 어떤 일이 같은 :이 달성 할 수있는 방법이

set classpath = ./conf 
for %%i in (`dir /s /withaboslutepath *.jar`) do set classpath = %classpath%;"%%x" 

을 있습니까? 나는 이런 식으로 뭔가를 만들었습니다

+0

이 작업을 수행하는 프로그램을 작성 하시겠습니까? 귀하의 예제는 발견 된 각 항아리의 경로를 추가합니다. – lexu

+0

오류가 발생하지 않았습니다. 조금도. – glmxndr

답변

1

:이 솔루션

setlocal EnableDelayedExpansion 
set classpath=./conf 
FOR /R . %%x IN (*.jar) do set classpath=!classpath!;"%%~px" 
echo !classpath! 
endlocal 

문제는 중복 경로입니다.

+0

중복으로 무엇을 의미합니까? 잘 작동하는 것 같습니다. – glmxndr

+0

동일한 디렉토리에 두 개의 jar 파일이있는 경우,이 디렉토리는 classpath 변수에 두 번 추가됩니다. – chalup

+0

오오 그래 ... 실제로 jar 파일 자체를 지정해야하므로 %% ~ px를 %% x로 바꿨습니다. 고마워요! – glmxndr

관련 문제