2013-11-01 1 views
1

이 페이지에서이 주제에 대해 고민하고 있습니다.하지만 해결책을 찾지 못했습니다. ProcessBuilder를 사용하여 cmd로 프로그램을 실행할 수 있습니까? 커맨드 라인을 사용하여 7zip으로 파일을 압축, 열기, 삭제하고 싶습니다. 나는이 예제와 코드 만 나던 일, cmd를 시작해야하지만 나던 [압축 파일 생성 :Java의 ProcessBuilder

String[] commands= 
    {"cmd.exe", "7za", "a", "-t7z", "test.7z", "Test.txt", "/C", "start"}; 
ProcessBuilder pb = new ProcessBuilder(commands); 

답변

3

문제는 자바 (시작() 누락), 약간의 조금이다 7za가 경로에 있으면 7za (잘못된 명령 줄)에

new ProcessBuilder("7za", "a", "-t7z", "test.7z", "Test.txt").start(); 

이 명령은

...에만 작동 당신이 Windows에서, 해당 경로를 지정하지 않으면 :

,153,210

세븐 우편 도움말 : 프로그램을 실행할 수 없습니다 "7za"이 있어요 I

7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 

Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...] 
     [<@listfiles...>] 

<Commands> 
    a: Add files to archive 
    ... 
<Switches> 
    ... 
    -t{Type}: Set type of archive 
+0

의 CreateProcess 오류 = 2, 엘 SISTEMA는 더 puede의 encontrar 엘 기록 보관소는, 경로가 C있을 수 있습니다 당신은 창문 아래에 – Lindsay

+0

을 especificado 없습니다 : \ Program Files \ 7-Zip \ 7z.exe – Aubin

+0

예, 작동합니다. Thnks – Lindsay