fsStat类实例返回mtime,atime和ctime日期对象,但似乎只有用于更改mtime和atime的API(我猜测最后修改和访问)。如何更改创建时间以创建文件的精确副本,因为它也会与原始文件同时创建?
答案 0 :(得分:4)
目前Node本身不可能,但您可以使用https://github.com/ronomon/utimes(Node的本机加载项)来更改文件的创建时间(即btime
)在Windows和Mac上。
答案 1 :(得分:2)
tl; tr:这不可能是atm(Node.js< = v6)。
birthtime
"出生时间" - 文件创建时间。创建文件时设置一次。在没有出生时间的文件系统上,此字段可能会包含ctime
或1970-01-01T00:00Z
(即unix纪元时间戳0
)...在Node v0.12之前,
ctime
在Windows系统上持有birthtime
。请注意,自v0.12起,ctime
不是& #34;创建时间",在Unix系统上,它从未如此。
无法更新。来自https://github.com/joyent/node/issues/8252:
fs.utimes使用utime(2)(http://linux.die.net/man/2/utime),它不允许您更改ctime。
(同样适用于birthtime
)
答案 2 :(得分:0)
如果您只想解决问题(更改文件创建时间),python中有一个解决方案,请参见此处:https://stackoverflow.com/a/4996407/6733679。