2011-10-15 3 views
0

Java 프로그램에서 배치 파일을 실행하려고합니다.Java 프로그램에서 배치 파일을 실행할 수 없습니다.

이 작동 : 그것은 매우 잘 작동

runtime.getruntime().exec("cmd /c C:\\test.bat"); //Working 

내가 배치 파일의 경로에 공백을 줄 경우,하지만, 그것은 작동하지 않습니다 :

runtime.getruntime().exec("cmd /c C:\\Program Files\\test.bat"); //Not Working 

어느 한 나를 도와 드릴까요 이에.

답변

4

당신은 당신의 명령 줄에 공백이있는 파일 이름 주위에 따옴표를 넣어해야합니다

runtime.getruntime().exec("cmd /c \"C:\\Program Files\\test.bat\""); 
+0

안녕하세요 Gabe 답장을 보내 주셔서 감사합니다.하지만 그 중 하나를 시도했지만 작동하지 않습니다. – Vasu

+0

@sivakumar : 디렉토리 분리 기호에 이중 백 슬래시를 사용 했습니까? – Gabe

+0

예 "\\"를 디렉토리 saparators로 사용합니다 – Vasu

0

당신은 \를 사용하여 공간을 탈출해야합니다. 각각의 공간이 단지 등을 넣어 전에 1.5 이상에서 Process 함께 할 수있는 어떤 것도 사용 ProcessBuilder\

+0

안녕 Jay reply.But 주셔서 감사합니다.하지만 그 중 하나를 시도했지만 작동하지 않습니다. – Vasu

1
  1. 을 슬래시. (List based constructor을 사용하는 경우 경로 문제가 해결 될 가능성이 높습니다.)
  2. (이 문제에 대한 일반적인 조언) When Runtime.exec() won't의 모든 권장 사항을 읽고 구현하십시오.
관련 문제