文件在创建之前是否可以被修改?

Ale*_*rRD 11 metadata file-attributes

是否可能有一个文件的修改日期早于其创建日期?哪些操作会导致此事件发生?

Ro-*_*-ee 14

如果您从头开始创建文件,它的创建时间为“now”,修改日期为“now”。现在想象一下将此文件复制到另一个驱动器。Windows 将保留修改时间,但该文件的创建时间将设置为您将文件复制到该驱动器的时间(即该文件在驱动器上创建的时间)。就那么简单。

其实是正确的:

  • 上次修改文件内容的时间存储在修改时间中。
  • 在这个驱动器上创建文件的时间存储在创建时间中。


Lek*_*eyn 8

考虑提取的 .tar 存档。通常,提取的文件将具有从存档内容分配的最后修改时间戳(通常是过去,除非您是时间旅行者)。就文件系统而言,这些文件刚刚创建。

还有一些实用程序可以更改现有文件的修改时间,例如在 Linux 上,这是touch命令。


Ben*_*n N 7

在 Windows 上,设置(伪造,如果您愿意)文件的创建和修改时间非常容易。您不必更改计算机的时钟;您甚至不需要本地管理员访问权限。您所需要的只是对相关文件的写访问权限。

使用 PowerShell 设置文件的创建时间SetCreationTime

[System.IO.File]::SetCreationTime("C:\path\to\file.ext", (Get-Date "8/8/2088"))
Run Code Online (Sandbox Code Playgroud)

使用以下命令设置上次修改时间SetLastWriteTime

[System.IO.File]::SetLastWriteTime("C:\path\to\file.ext", (Get-Date "7/4/1776"))
Run Code Online (Sandbox Code Playgroud)

在Linux上,你可以很容易地更改文件的最后修改时间与-d的标志touch,如在此问Ubuntu的答案。Linux 文件系统上并没有真正的文件创建日期的概念(在 Unix & Linux 上进一步阅读)。


小智 0

根据我的经验,这是当一台或多台计算机被用来修改文件并且其中一台的系统时间错误时。系统时间错误的三个最常见原因(排名不分先后)是:

  1. 并非所有计算机都配置为自动更改为夏令时。
  2. 人们“不小心”更改了计算机上的系统时间。
  3. 人们开玩笑地“故意”改变了计算机上的系统时间。