【发布时间】:2019-03-20 10:40:53
【问题描述】:
我正在编写一个程序来更改目录中所有文件的修改日期。
我可以明显地更改属性,但不能让 Windows 识别它。
private static void ChangeDateTypeOfFile(DateTime date, string filepath)
{
int state = PdfReader.TestPdfFile(filepath);
if (state != 0)
{
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
PdfDocument doc = PdfReader.Open(filepath);
doc.Info.ModificationDate = date;
doc.Save(filepath);
}
else
{
Console.WriteLine(state);
}
}
当我在更改它之前和之后阅读该属性时,我可以看到差异并且它似乎有效。然而,在 Windows 文件资源管理器中,我看不到任何更改(例如,title 和 author 也看不到)。最后修改日期更改为我运行代码时的日期。
如何持续更改此信息?
编辑:
当我用记事本打开它时,我可以看到这一行:
/ModDate(D:20070129000000+01'00') //Set the date to 2007
为什么文件资源管理器不显示此信息?
【问题讨论】:
-
我不知道 PDFSharp 但您是否尝试过 System.IO 调用:File.SetLastWriteTime()?
-
刚在google上找到的,更简单更干净。
标签: c# pdf explorer pdfsharp file-attributes