2011-03-18 5 views
3

.bat 파일에 파일을 끌어서 놓으 려합니다. 내가 그것을 놓은 후 jar 파일을 입력 된 파일 경로로 실행하고 싶다. jar 파일을 상대 경로로 실행하려면 어떻게해야합니까? 내 .bat 파일이 실행되는 dir은 사용자 dir이며 dir은 위치하지 않습니다.박쥐에 떨어 뜨린 파일로 jar 파일을 실행하십시오.

goal: cmd /c java -jar myjar.jar -f %1 
current: cmd /c java -jar c:\somewhere\myjar.jar -f %1 

점은 프로그램 (항아리 + 박쥐) 작은 자동화 된 배포 과정의 일부임을이며, 모든 사용자의 항아리를 실행하는 다른 경로가있을 수 있습니다.

+0

내가 myjar.jar이 상대적 이해 배치 파일의 경로로 현재 디렉토리를 변경하지만, 무엇을 기준으로, 작동? 드래그 앤 드롭 배치 또는 % 1 경로로 이동 하시겠습니까? 드래그 앤 드롭 배치에 상대적인 – jeb

+0

. 삭제 된 파일은 절대 경로가됩니다. – lrxw

답변

3

아마도 이것은

pushd "%~dp0" 
cmd /c java -jar myjar.jar -f "%~1" 
+0

배치 스크립트의 끝에 "POPD"가 암시되어 있습니까? 아니면 디렉토리 스택 상태를 복원하기 위해 명시 적으로 실행해야합니까? –

+0

감사합니다,이 완벽하게 일했습니다 :) @Andriy 다시 스크립트를 시작하면 내 사용자 디렉토리의 컨텍스트에서 다시 실행됩니다. – lrxw

+0

@Andriy M : POPD는 일반 경로 복원이 필요하거나 setlocal을 복원해도 문제는 해결되지만 끝은 아닙니다. 배치의 – jeb

관련 문제