C# 用C语言取消归档#

C# 用C语言取消归档#,c#,.net,command-line,cmd,compression,C#,.net,Command Line,Cmd,Compression,我想静默提取.rar存档。Net在IO.Compression中没有任何Rar类,所以我想使用cmd(它比外部dll更好)。它提取,但不是在静默模式下。我做错了什么 const string source = "D:\\22.rar"; string destinationFolder = source.Remove(source.LastIndexOf('.')); string arguments = string.Format(@"x -s ""{0}"" *.* ""{1}\""", s

我想静默提取
.rar
存档。Net在IO.Compression中没有任何Rar类,所以我想使用cmd(它比外部dll更好)。它提取,但不是在静默模式下。我做错了什么

const string source = "D:\\22.rar";
string destinationFolder = source.Remove(source.LastIndexOf('.'));
string arguments = string.Format(@"x -s ""{0}"" *.* ""{1}\""", source, destinationFolder);
Process.Start("winrar", arguments);

我自己使用这段代码(添加了您的代码):

这将在后台启动WinRAR程序,并在文件完成卸载后将控制权返回给您


希望这能有所帮助。

或者,您可以在应用程序中嵌入名为unrr的工具,这是WinRAR开发人员开发的小型可执行文件()

此实用程序是免费的,因此您的用户无需拥有WinRAR许可证即可使用您的应用程序。:)可以使用与所述相同的方法执行它。

使用SharpCompress 还有一个易于安装的nuget软件包

Install-Package sharpcompress -Version 0.22.0
Install-Package nunrar

NUnrar.Archive.RarArchive.WriteToDirectory(fileName,destinationfileName);

使用NUnrar,还有一个nuget软件包,便于安装

Install-Package sharpcompress -Version 0.22.0
Install-Package nunrar

NUnrar.Archive.RarArchive.WriteToDirectory(fileName,destinationfileName);