如何在node.js中复制文件(包括修改时间)?

时间:2012-12-04 01:38:18

标签: node.js copy fs

我可以使用以下命令复制node.js中的文件:

            var readStream = fs.createReadStream(fromFilePath);
            readStream.pipe(fs.createWriteStream(toFilePath));

问题是如何在常规文件复制命令中复制/保留修改时间(mtime)。

2 个答案:

答案 0 :(得分:11)

fs模块中有一些方法可以访问mtime:

var stat = fs.statSync(fromFilePath);
fs.utimesSync(toFilePath, stat.atime, stat.mtime)

答案 1 :(得分:0)

使用https://nodejs.org/api/fs.html#fs_fs_copyfile_src_dest_flags_callback

文档没有说明,但根据我的测试,至少在Windows-10上,它确实将修改时间与源文件中的设置/设置为相同。

它确实将Created -time设置为复制时间。但是您的问题是关于修改时间,因此这可能是获得所需内容的最简单方法。

顺便说一句。我觉得很好奇,现在好像文件在创建之前就被修改了。怎么可能!但是看来,至少在Windows 10上是这样。我想这对我们来说是一个从其他地方复制文件的好提示。