我正在使用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 check:”仍然会显示“旧的”日期时间值。