2013-11-01 3 views
1

Я изучаю эту тему на этой странице, но я не могу найти решение, как я могу выполнять программы в cmd с помощью ProcessBuilder? Я хочу сжать, открыть, удалить файл с помощью 7zip с помощью командной строки. У меня есть этот код в качестве примера, но это не распространяется работа, CMD начинается, но это не распространяется создать файл компресс:ProcessBuilder в Java

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

ответ

3

Проблема немного в Java (запуск() отсутствует), немного в 7za (командная строка искажен)

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

Эта команда работает только если 7za находится в вашем PATH ...

Если нет, вы должны указать свой путь, под Windows:

new ProcessBuilder(
    "C:/Program Files/7-Zip/7za.exe", "a", "-t7z", "test.7z", "Test.txt").start(); 

Семь зип помощь:

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

Я получил это: Не удается запустить программу "7za": CreateProcess ошибка = 2, El Sistema не Puede encontrar эль Archivo не especificado – Lindsay

+0

Вы находитесь под окнами, путь может быть C: \ Program Files \ 7-Zip \ 7z.exe – Aubin

+0

Да, это работает. Thnks – Lindsay

Смежные вопросы