1

我正在这个页面中研究这个主题,但我找不到解决方案,如何使用 ProcessBuilder 在 cmd 中执行程序?我想使用命令行使用 7zip 压缩、打开、删除文件。我有此代码作为示例,但不起作用,cmd 启动但不创建压缩文件:

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

1 回答 1

3

问题在Java中有点(缺少start()),在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
于 2013-11-01T17:12:28.107 回答