2013-09-06 2 views
0

다음과 같이 ProcessBuilder를 사용하여 명령을 실행하려고합니다.프로세스 빌더에서 작업 디렉토리를 변경하십시오.

String[] cmdList = {"cmd.exe","/C","M:", "cd Test_SrcCd_Dev_Dyn","cleartool lsactivity -l [email protected]_PVOB"}; 
ProcessBuilder builder = new ProcessBuilder(cmdList); 

명령 관점에서 볼 때 기본적으로 프로세스 작성자에게이 작업을 요청하고 싶습니다.

1.Open cmd.exe를

2 열기 M :

3 CD Test_SrcCd_Dev_Dyn

4 즉 cleartool lsactivity -l TestActivity @ My_PVOB

내 코드는 null를 돌려 내 명령을 실행합니다. 누군가는 프로세스 빌더를 생성하는 올바른 방법을 제시하여 같은 결과를 얻을 수 있습니까?

미리 감사드립니다.

답변

-1

프로세스 작성기에 대한 설명서를 확인 했습니까? public ProcessBuilder directory(File directory)이 방법은 새 프로세스의 작업 디렉토리를 설정합니다. 그냥 cleartool lsactivity -l [email protected]_PVOB 명령에 대한 새로운 프로세스를 시작하고 builder.setDirectory(new File("m:\Test_SrcCd_Dev_Dyn"));

당신이 내가이 시도 할 때 다음 오류가 발생했습니다 당신의 cleartool

+0

안녕 @ Antoniossss..I에 대한 절대 경로를 설정해야합니다 가능성이 자사의 작업 디렉토리를 설정 . "cleartool.exe lsactivity -l TestActivity @ My_PVOB"("M : \ Test_SrcCd_Dev_Dyn"디렉토리에서) 프로그램을 실행할 수 없습니다. CreateProcess error = 2, 시스템이 지정된 파일을 찾을 수 없습니다. – user2732988

+0

마지막 줄에서 전에 쓴 것처럼 점심을 먹고있는 프로그램의 절대 경로 또는 현재 디렉토리 (Java 응용 프로그램)의 상대 경로를 지정해야합니다. 귀하의 경우 그것은'M : \ Test_SrcCd_Dev_Dyn \ cleartool \ lsactivity -l TestActivity @ My_PVOB'라고 생각할 것입니다. – Antoniossss

관련 문제