【问题标题】:How to copy file in node.js (including modified time)?如何在 node.js 中复制文件(包括修改时间)?
【发布时间】:2012-11-21 14:27:06
【问题描述】:

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

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

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

【问题讨论】:

    标签: node.js copy fs


    【解决方案1】:

    fs模块中有访问mtime的方法:

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

    【讨论】:

      【解决方案2】:

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

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

      它确实将 Created 时间设置为制作副本的时间。但是你的问题是关于修改时间的,所以这可能是得到你想要的最简单的方法。

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

      【讨论】:

        猜你喜欢
        • 2010-09-12
        • 2010-09-27
        • 2020-04-16
        • 1970-01-01
        • 1970-01-01
        • 2016-05-06
        • 2011-01-28
        • 2012-02-08
        • 2014-05-14
        相关资源
        最近更新 更多