我希望通过我的控制台应用程序使用zip文件夹,这就是我使用
之类的东西的原因public void DoWinzip(string zipName, string password, string folderName)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Program Files\\WinZip\\winzip32.exe";
startInfo.Arguments = string.Format("-min -eZ {0} {1}", zipName, folderName);
try
{
// Start the process with the info we specified.
// Call WaitForExit and then the using statement will close.
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch(Exception ex)
{
// Log error.
}
}
但这会给我一些像winzip参数验证错误的错误。我错在哪里?
Update
我在-eZ上拼写错误实际上它可能是-ex等...但另一个问题是winzip打开了自己的窗口。我为它写了 - 但它打开了。
答案 0 :(得分:1)
也许你传递带有空格的路径(在zipName
和folderName
参数中)而不用双引号括起来。
答案 1 :(得分:0)
http://www.rondebruin.nl/parameters.htm - >看着我认为代码是:
startInfo.Arguments = string.Format(“ - e {0} {1}”,zipName,folderName);
答案 2 :(得分:0)
选项-eZ
是什么?我认为这是你的问题
我认为以下是确定压缩方法的唯一选项。
-ex
= eXtra
-en
=正常
-ef
=快速
-es
=超级快
-e0
=无压缩
答案 3 :(得分:0)
您可以使用ProcessStartInfo.WindowStyle属性
来避免打开窗口试试这个:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Program Files\\WinZip\\winzip32.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;