所以我有一小段代码可以检测文件夹中的文件,并在它们达到一定年龄后系统地压缩它们。我现在正在编写一段代码,以根据用户请求解压缩特定日期范围的文件,以便在软件中使用。
我的问题是压缩文件的命令行字符串效果很好,但解压缩不...下面是显示我如何解压缩的代码摘录,请让我知道我应该做些什么不同的事情以确保解压缩。谢谢!
private void UnZipFile()
{
if (myRecord == null)
{
if (File.Exists(zipInfo.FullName))
{
Process LogUnzipper = new Process();
//32-bit system
if (File.Exists("c:\\Program Files\\WinZip\\WZZIP.exe"))
{
//WZZIP.exe being the WinZip executable
LogUnzipper.StartInfo.FileName = "c:\\Program Files\\WinZip\\WZZIP.exe";
}
//64-bit system
else if (File.Exists("c:\\Program Files (x86)\\WinZip\\WZZIP.exe"))
{
//WZZIP.exe being the WinZip executable
LogUnzipper.StartInfo.FileName = "c:\\Program Files (x86)\\WinZip\\WZZIP.exe";
}
//here is where I think I'm screwing up something..
string action = "-e " + "\"" + zipInfo.FullName + "\"" + " \"" + zipInfo.DirectoryName + "\"";
//happen in background
LogUnzipper.StartInfo.CreateNoWindow = true;
LogUnzipper.StartInfo.UseShellExecute = false;
LogUnzipper.StartInfo.Arguments = action;
LogUnzipper.Start();
while (!LogUnzipper.HasExited)
{
LogUnzipper.WaitForExit(500);// 1/2 sec
}
//adding break point at this line yields no unzipped Log file :(
}
...
我的想法是我以某种方式将 cmd 称为错误string action
?即使我在 Windows 命令提示符下测试它是正确的格式。
***应该注意的是 ZipInfo.FullName 是 ex: "C:\Users\16208\Software\Beta\logs\6_2013\Log_10AM_to_11AM.zip" 就格式而言,所以我给出了一个准确的路径压缩物品。