我正在尝试使用 selection 属性根据某些标准从目录中压缩文件列表。这是代码
using (ZipFile zip = new ZipFile())
{
string selection = "ctime > " + DateTime.Now.AddHours(-12).ToString("yyyy-MM-dd-HH:mm:ss");
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zip.AddSelectedFiles(selection, LogFolder, "", true);
if (zip.Entries.Count > 0)
{
zip.Name = ArchiveFile;
zip.Save();
}
}
如您所见,我正在尝试将过去 12 小时在日志文件夹中创建的文件存档。文件一直在日志文件夹中创建,它们在创建后大约 20 小时被删除,所以我尝试在 12 小时标记处存档它们,这样我就不会丢失文件,并且在我尝试存档时文件不会被删除. 然而我仍然得到System.Reflection.TargetInvocationException: 异常已被调用的目标抛出。---> System.IO.DirectoryNotFoundException: 找不到路径的一部分'\core\e$\Program Files\Aspect Software\Unified IP\Logs\DBIServer\DBIServer[2013.11.05-12.41.11.263][569 ]。日志'。
如您所见,我尝试归档的文件是在 2013 年 11 月 5 日 12:41 创建的,这段代码运行的时间超过了 12 小时。那么为什么我会得到这个异常呢?无论如何,该文件不应该进入存档!重要的是要注意,代码通常运行良好,并且确实可以正常工作,只归档正确的文件。所以也许错误与查看文件夹中所有文件的代码有关,即使它不会存档它们?有什么解决办法吗?
这就是整个堆栈跟踪: 消息以用户身份执行:FCFS\fcdbadmin。...ion 10.50.4000.0 for 64-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:10:26:03 πμ 错误:2013-11-06 10:29:37.76 代码:0x00000001 来源:DBIServer 描述:System.Reflection.TargetInvocationException:调用目标已引发异常。---> System.IO.DirectoryNotFoundException: 找不到路径的一部分'\core\e$\Program Files\Aspect Software\Unified IP\Logs\DBIServer\DBIServer[2013.11.05-12.41.11.263][569 ]。日志'。在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption) 在 System.IO.Directory。System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.IO.DirectoryNotFoundException: 找不到路径的一部分'\core\e$\Program Files\Aspect Software\Unified IP\Logs\CenterCord\CenterCord-[2013.11.05-11.57.07.462][ 716].log'。在 System.IO。System.IO.Directory.InternalGetFileDirectoryNames(字符串路径,字符串 userPathOriginal,字符串 searchPattern,布尔 includeFiles,布尔 includeDirs,SearchOption searchOption)在 System.IO.Directory.GetFiles(字符串路径,字符串searchPattern, SearchOption searchOption) at System.IO.Directory.GetFiles(String path) at Ionic.Zip.ZipFile.AddOrUpdateDirectoryImpl(String directoryName, String rootDirectoryPathInArchive, AddOrUpdateAction action, Boolean recurse, Int32 level) at Ionic.Zip.ZipFile._AddOrUpdateSelectedFiles(字符串 selectionCriteria,字符串 directoryOnDisk,字符串 directoryPathInArchive,布尔递归目录,布尔值 wantUpdate) 在 Ionic.Zip.ZipFile.AddSelectedFiles(字符串 selectionCriteria,字符串 directoryOnDisk,字符串 directoryPathInArchive,Boolean recurseDirectories) at ST_c13047ee91c340d78c1fbd7aa7c31ff9.csproj.ScriptMain.Main() --- 内部异常堆栈跟踪结束 --- 在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) at System.R... 包执行失败... 步骤失败。