2013-05-21 2 views
0

자바 :자바 runtine.exec은 : 경로 변경되지 않습니다

public static void startCmd(String path) 
{ 
    Runtime rt = Runtime.getRuntime(); 
    Process pr = rt.exec(path); 
    BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream(), "cp852")); 
    String line = null; 

    // redirection output to console 
    while((line = input.readLine()) != null) { 
    System.out.println(line); 
    } 
    System.out.println("Error code: " + pr.waitFor()); 
} 

public static void main(String[] args) { 
    startCmd("c:\\run.bat"); 
} 

run.bat를 :

D:\WORKSPACE\TEST>cd c:\cmd\ 
D:\WORKSPACE\TEST>application.exe // path should be changed from D:\WORKSPACE\TEST> to c:\cmd> 
Error code: 0 

: 콘솔에서

cd c:\cmd\ 
application.exe 

출력 왜 cd c:\cmd\ 명령이 Java 콘솔 응용 프로그램에 전달되지 않습니다 ???

답변

2

DOS에서 경로를 다른 드라이브로 변경하는 경우 디렉터리를 설정하기 전에 드라이브 문자를 사용해야합니다. 이것은 각 드라이브에 자체 작업 디렉토리가 있기 때문입니다. 당신은 배치 파일에 C:을 추가해야합니다

C: 
cd c:\cmd\ 
application.exe 
+0

니스, 정말 고마워요 !! – gaffcz

1
cd c:\cmd\ 
c: 
application.exe 

이보십시오.

관련 문제