如何提取用WinRAR命令行ZIP文件?(How to extract ZIP files with

2019-08-02 04:09发布

虽然试图提取zip文件我得到的错误:

C:\路径\ name.zip不是RAR压缩包
没有文件解压

我的代码是:

p.StartInfo.FileName = @"C:\Program Files\WinRAR\rar.exe";
p.StartInfo.Arguments = string.Format("x -o- {2} \"{0}\" * \"{1}\"\\ ",
  szFN,
  outFolder,
  passWord == null ? "" : string.Format("-p\"{0}\"", passWord));

GUI版本可以提取ZIP和7Z文件。

为什么没有这方面的工作? 我怎样才能提取ZIP和7Z文件?

(注:我有不同的源代码7zip的,我想我可以合并两个只有使用上述文件时有一个RAR的扩展,但我不喜欢这样的解决方案。)

Answer 1:

免费unrar.exe和控制台版本Rar.exeWinRAR的只支持RAR压缩文件格式。 这显然是在手册第二段落所描述Rar.exe它是文本文件Rar.txtWinRAR的程序文件的文件夹。

您需要使用WinRar.exe ,而不是同时也支持其它压缩文件格式:

[路径\的WinRAR.exe]×[交换机] [路径到压缩文件] [文件来提取 所有文件] [路径文件夹解压到]

例:

"%ProgramFiles%\WinRAR\winrar.exe" x -ibck c:\file.zip *.* c:\folder\

用于GUI版本的语法,命令和开关WinRAR.exe中列出并在WinRAR帮助说明。 点击菜单上的帮助菜单项的帮助主题 ,在帮助选项卡的内容命令行模式下打开并阅读该项目项下所列的帮助页面。

例如,该开关-ibck仅由支持WinRAR.exe但不是由Rar.exe是用于运行在背景提取这意味着的WinRAR GUI版本使得最小化在Windows系统托盘中的图标的提取。



Answer 2:

rar.exe的确可以只解压RAR文件。 这不是在所有相同的WinRAR。

对于.NET拆包ZIP文件,你可能想在看DotNetZip库,而不是。 它有一个许可与商业软件兼容,不像CSharpZipLib。

如果您需要支持RAR,以及,你可以使用UnRAR.dll用的PInvoke:
http://www.rarlab.com/rar_add.htm
http://www.rarlab.com/rar/UnRARDLL.exe

或者,这.NET和unRAR libary:
http://www.chilkatsoft.com/rar-dotnet.asp

也许这一个用于7zip的。



Answer 3:

您可以使用SevenZipSharpDotNetZip在你的应用程序库!

但我会去SevenZipSharp库,因为它支持的7-Zip支持的所有档案!

源代码和二进制都在链接可用!



Answer 4:

for /f "tokens=*" %G in ('dir /on /b "D:\BACKUP_DATI\EXCEL\OPER*.ZIP"') do "C:\Program Files\7-Zip\7z.exe" x  "..\%G" –aoa

参考资料进一步阅读:

  • 的7-Zip的命令行示例
  • FOR / d -遍历目录


文章来源: How to extract ZIP files with WinRAR command line?