【问题标题】:Cannot set creation time when a file is on a removable disk文件在可移动磁盘上时无法设置创建时间
【发布时间】:2021-06-25 16:31:45
【问题描述】:

我尝试为目录中的所有文件设置创建、写入和访问时间。如果文件在本地机器上,那将有效。但是,当我尝试对可移动磁盘上的目录执行此操作时,出现异常:

System.IO.IOException: '参数不正确。 : '*路径*'

我真的不知道为什么会这样,但是:

  • 路径正确
  • BitLocker 已关闭
  • 文件没有只读属性
static void Main(string[] args)
{
    var files = new DirectoryInfo(args[0]).GetFiles();

    foreach (var file in files)
    {
        File.SetCreationTime(file.FullName, new DateTime(1970, 1, 1));
        File.SetLastAccessTime(file.FullName, new DateTime(1970, 1, 1));
        File.SetLastWriteTime(file.FullName, new DateTime(1970, 1, 1));
    }
}

感谢您的帮助。

【问题讨论】:

  • 如果您设置一个较新的日期,这将起作用(例如:new DateTime(2000, 1, 1))????

标签: c# .net windows-10


【解决方案1】:

抛出异常是因为我的闪存驱动器上的文件系统是 FAT。并且 FAT 文件系统从 1/1/1980 开始计算日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    相关资源
    最近更新 更多