7zip命令行 – 找不到与档案一起使用的代码

我们正在进行一个服务器迁移过程,包括一个新的主机以及一个Server 2k8机箱到Server 2012机箱。 有问题的服务器有一些驱动器,用于存放我们的网站和一些实用程序。 这些驱动器正好在移动过程中被复制。 数据,文件夹结构和权限应该都是相同的。

最近,当在这个服务器上运行Jenkins任务时,我在日志中发现了以下内容:

G:\网站\ PathToWebsite> G:\ Jenkins \ Tools \ 7z a -tzip Website_PROD_Backup_20140311_.zip

7-Zip [64] 9.20 Copyright(c)1999-2010 Igor Pavlov 2010-11-18

错误:7-Zip无法find与档案一起使用的代码。

7-Zip安装在服务器上,我可以通过GUI执行它想要执行的操作。 我是一名开发人员,并不习惯于这样的疑难解答,Google对于这个具体的错误并没有引导我进行任何解决。

我能find的最接近的匹配是一个网站,说如果命令行工具小于150K,它需要一些.dll文件。 我在上面的参考pathfind了这个工具,它超过了150K。 无论如何,我将.dll文件从安装目录复制到该目录。 这并没有解决这个问题。

我该怎么办才能解决这个问题? 我真的需要7-Zip从命令行工作,否则我们的构build/部署过程的重要部分将不得不手工完成。

确保你已经安装了7-zip命令行版本; 它与GUI分开。 你可以在这里下载:

http://www.7-zip.org/download.html

这个错误的另一个原因是当你有7z.exe,但也没有7z.dll – 都需要命令行程序才能正常工作。 从普通的7-zip GUI安装文件夹中复制这两个文件就足以实现我们CI上的命令行程序的可移植版本。

在batch file中设置path到EXE,否则批处理程序将不知道EXE所在的位置。 如果exe是在c:\ Prog〜1 files \ bin \ 7zip.exe

将path设置为c:\ Prog〜1 files \ bin \

我有如上所述的相同的错误消息。 通过从Windows \ System32目录中删除7z.exe(通过以pipe理员身份安装7-zip来放置该目录)解决了该问题。