在 C# 程序中执行 WinZip 命令

Executing WinZip Command in a C# Program

如何从 MVC 控制器 Action 执行 winzip 命令?

命令:

C:\Program Files (x86)\WinZip>WZZIP.EXE -ys2048000 Location Location

我会添加以下包并使用它,而不是尝试连接到 exe 文件(您很可能没有这样做的权限):

https://www.nuget.org/packages/DotNetZip/

您所问的,直接用 System.Diagnostics.Process.Start(string, string) 方法是可能的。它看起来像这样:

System.Diagnostics.Process.Start(
    @"C:\Program Files (x86)\WinZip\WZZIP.EXE", 
    "-ys2048000 Location Location");

我已经走上了这条路,对于简单的事情来说,它可能已经足够好了。我经常发现,通常可以通过直接与 zip 文件进行交互来做一些更酷、更有用的事情。在这种情况下,DotNetZip or SharpZip 之类的内容可能是不错的选择。我以前用过 DotNetZip,它非常强大且性能很高。

这是来自 DotNetZip 主页的一个简单示例:

Here's some C# code that creates a zip file.

using (ZipFile zip = new ZipFile())
{
    // add this map file into the "images" directory in the zip archive
    zip.AddFile("c:\images\personal\7440-N49th.png", "images");
    // add the report into a different directory in the archive
    zip.AddFile("c:\Reports\2008-Regional-Sales-Report.pdf", "files");
    zip.AddFile("ReadMe.txt");
    zip.Save("MyZipFile.zip");
}