如何以编程方式检查Zip存档中文件的日期?

时间:2010-07-15 20:02:41

标签: .net zip winzip

鉴于我有一个名为archive.zip的zip文件,其中包含一个名为customerData的文件,如何以编程方式检查archive.zip内的文件日期?我正在使用命令行Winzip实用程序wzunzip,但我不反对使用其他东西。

我正在编写一个.net应用程序,它会定期从customerData读取数据。该文件非常大,如果日期戳没有更新,我想中止操作而不解压缩customerData,表示有新数据需要读取。

4 个答案:

答案 0 :(得分:1)

通过http://dotnetzip.codeplex.com/。没有本地方式(我知道)这样做。

示例代码:

ZipFile z = ZipFile.Read(@"C:\archive.zip");
foreach (ZipEntry zEntry in z)
{
    Console.WriteLine(zEntry.LastModified.ToString());
}

答案 1 :(得分:0)

我认为最简单的.NET API是DotNetZip,但SharpLibZip也可以。有许多薪酬库我已经享受并成功使用ChilCat

更新:如果你不介意编写脚本。 7zip命令行提供信息

C:\temp\XpsTest>"c:\Program Files\7-zip\7z.exe" l "39 Clues.xps"

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03

Listing archive: 39 Clues.xps


   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2009-09-10 23:06:58 .....          160          212  FixedDocumentSequence.fdseq
...

答案 2 :(得分:0)

如果我可能如此大胆,那么定期查看zip文件不太可能解决许多问题,除非您无法控制这些数据是如何传递给您的?

如果您可以发布有关您正在处理的问题/情况的更多信息,我敢说这里的工作人员可能能够提出一些更有趣的解决方案。?

有点偏离主题,但有时用正确的问题回答问题并不像解决更容易和更清洁的问题那样有用..至少我喜欢这么认为。

希望有所帮助..

答案 3 :(得分:-1)

设置为提取日期,而不是最初创建文件夹的日期,尽管在7zip文件管理器中查看档案确实显示了原始文件夹的创建日期已被记录...