나는 간단한 .BAT 스크립트를 작성했다. 백업을 위해 Windows 서버에서 예약했다. 문제는 응용 프로그램을 실행하지만 출력이 폴더에 들어 가지 않는다는 것입니다. 어딘가에 있습니다 (어디서나). 출력은 로그 파일과 백업 파일입니다.BAT 파일에서 실행되는 프로그램을 자체 디렉토리에서 실행하는 방법은 무엇입니까?
"%JAVA_HOME%"\bin\java -jar "%~dp0jwbackup.jar"
나는 간단한 .BAT 스크립트를 작성했다. 백업을 위해 Windows 서버에서 예약했다. 문제는 응용 프로그램을 실행하지만 출력이 폴더에 들어 가지 않는다는 것입니다. 어딘가에 있습니다 (어디서나). 출력은 로그 파일과 백업 파일입니다.BAT 파일에서 실행되는 프로그램을 자체 디렉토리에서 실행하는 방법은 무엇입니까?
"%JAVA_HOME%"\bin\java -jar "%~dp0jwbackup.jar"
당신은 두 가지 선택이
여기 스크립트입니다. 첫 번째는 실행 파일을 지정할 수있는 것과 동일한 방식으로 예약 된 작업의 현재 디렉터리를 설정할 수 있다는 것입니다. 이것은 물론 위치가 바뀌면 걱정할 필요가있는 추가 사항입니다.
다른 방법은 이미 스크립트에 나와 있습니다. jarfile 사양에있는 %~dp0
은 드라이브 및 경로 0 인수 (배치 파일 이름)이므로 배치 파일과 동일한 디렉토리에서 jarfile을 찾습니다. 당신이 다른 곳으로 이동하기로 결정하더라도, 자바 프로그램을 실행하기 전에 명령 파일에
cd /d %~dp0
을하며 올바른 디렉토리에있을 것입니다 :
따라서 당신은 넣을 수 있습니다.
그냥 cd
실제 응용 프로그램을 실행하기 전에 폴더에 있습니다 : :
cd\
cd "%JAVA_HOME%"\bin
java -jar "%~dp0jwbackup.jar"
아마도 Java bin 디렉토리에 있어야하는 것은 아니지만 배치 파일과 동일한 디렉토리에 있어야한다고 생각합니다. 하지만 이론은 옳다. 다른 위치를 선택하기 위해서는'cd' 명령을 바꾸면된다. – paxdiablo
자바에 대해서는 아무 것도 모른다. 출력 파일을'bin' 디렉토리에 넣는 것이 좋은 생각인지는 모르겠다. 그는 배치 파일 디렉토리 나'bin' 디렉토리에 출력을 원한다면 그의 질문에 명확하게 진술하지 않았습니다 (나는 후자를 이해했습니다). 만약 그가 배치 파일 디렉토리를 원한다면 당신의 대답은 더 좋은 것입니다. –