Java 응용 프로그램에서 .bat 파일을 실행하려고합니다. 찾을 수있는 모든 방법을 시도했지만 아무 것도 작동하지 않는 것 같습니다.공백이 포함 된 Java 실행 명령 줄
문제는 공백이 들어있는 .bat 파일의 경로입니다.
나는 내가내 실제 코드는 내 이클립스 콘솔에서 결과를 볼 수 있습니다 지금 this 방법을 사용하고
: 나는 따옴표를 이스케이프하지 않고, 따옴표를 이스케이프와 시도했습니다
Runtime rt = Runtime.getRuntime();
String processString = "cmd /c \"" + homeFolder.getAbsolutePath() + SETUP_FILE + "\" \"" + homeFolder.getAbsolutePath() + "\"";
try {
Process proc = rt.exec(processString);
...
}
을, 로하고 견적을 탈출하지 않고, 다시
{ "cmd", "/c", \"" + homeFolder.getAbsolutePath() + SETUP_FILE + "\" ... };
: String[]
로 문자열을 분리하고 각각의 공간을 배치하는 명령을 자신의 세포를 분리 아무것도 작동하지 않습니다.
또한 배열과 문자열에 대한 경로를 하드 코딩 해 보았습니다. 매번 같은 결과가 나타납니다.
homeFolder = C:\Users\La bla bla\workspace\ToolMaker\bin\
SETUP_FILE = setup.bat
전체 명령은 이것이다 : 따옴표와 함께 또는없이, 다시
cmd /c "C:\Users\La bla bla\workspace\ToolMaker\bin\setup.bat" "C:\Users\La bla bla\workspace\ToolMaker\bin"
, 동일한 출력 : 분명히
Output:
Error: 'C:\Users\La' is not recognized as an internal or external command,operable program or batch file.
나는 윈도우 (7, 64 비트 전문에 실행 해요). Java 7
몇 명의 사람들이 이전에 이러한 문제가 있다고 말한 것을 보았지만 그 문제를 해결하는 방법에 대한 답을 찾을 수 없었습니다.
공백 문자를 인코딩하려 했습니까? – dantuch
UTF-8을 사용하여 전체 문자열을 인코딩하려고했습니다. 그게 무슨 뜻인지 모르겠다. –