![文件的创建日期怎么会是过去的日期呢?](https://linux22.com/image/1576432/%E6%96%87%E4%BB%B6%E7%9A%84%E5%88%9B%E5%BB%BA%E6%97%A5%E6%9C%9F%E6%80%8E%E4%B9%88%E4%BC%9A%E6%98%AF%E8%BF%87%E5%8E%BB%E7%9A%84%E6%97%A5%E6%9C%9F%E5%91%A2%EF%BC%9F.png)
我有一个安装,其中放入文件系统的某些文件具有过去的创建时间戳。我了解可以使用 API 调用来修改创建(和其他)时间戳。因此,安装可能在文件被复制后执行此操作。
这是文件创建日期可以是过去的唯一方法吗,或者是否有其他方法可以在复制到文件系统时保留源文件的创建日期?
答案1
移动文件时,文件的创建和修改日期都会保留,但复制文件时则不会保留,因为复制的文件被视为新文件。
大多数压缩程序(例如 Zip)也会在将文件压缩到存档中时保留日期,并在解压缩时使用与您找到的相同的 API 调用恢复它们。
由于大多数安装工作都以某种压缩档案的形式保存所安装的文件,因此在安装文件时通过解压缩来保留日期。