4

我正在使用 File.SetCreationTime() 方法来更新文件的创建时间。它适用于本地文件夹中的文件,但由于某种原因它不适用于共享网络文件夹。我可以使用同一个应用程序创建、删除、重命名文件,但这种方法无法正常工作。我已经阅读了 MSDN 上的方法描述,它说当调用者没有适当的权限时会引发 UnauthorizedAccessException。但是,我没有得到任何例外。这种行为的原因可能是什么?是否有解决方法或设置文件创建时间的替代方法?

这是相关的代码片段:

try
{
   DateTime dt = fi.CreationTime; //fi is a FileInfo of the given file
   DateTime newdt = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, position);
   _log.DebugFormat("Setting the CreationTime attribute to {0} ticks...", newdt.Ticks);
   fi.CreationTime = newdt;
   File.SetCreationTime(filePath, newdt);
   _log.DebugFormat("CreationTime check: {0}", File.GetCreationTime(filePath).Ticks);
}
catch (Exception ex)
{
   _log.DebugFormat("Error details: {0}", ex.ToString());
}

根据调试日志输出,应用程序尝试设置新的日期时间。然而,“CreationTime 检查:”仍将显示“旧”日期时间值。

4

0 回答 0