【问题标题】:Nodejs move files without deleting source directoryNodejs移动文件而不删除源目录
【发布时间】:2015-09-16 14:48:58
【问题描述】:

我正在尝试使用 mv 模块将文件从一个目录移动到另一个目录。问题是,一旦文件被移动,源目录就会被删除。我不想要这个,我只想要从源目录中删除移动的文件。源目录应该保留(即使它是空的)。不确定如何使用 mv 模块执行此操作(或者是否有任何其他选项)。

我的代码

var pathToPdf = path.join(__dirname, '../pathToPdf/');

` var intermediate = path.join(__dirname, '../intermediate/');

 fs.readdir(pathToPdf, function(err, files) {
    if (err) return;

    files.forEach(function(file){

        mv(pathToPdf, intermediate, function(err) {
            if(err){
                console.log("oops!")
            }
        });
       ----move code --- 

此代码将文件移动到中间目录,但 pathToPdf 目录被删除,我想避免这种情况。请指教。

【问题讨论】:

  • 请出示mv()的代码。
  • var mv = require('mv'); npmjs.com/package/mv
  • 如果源和目标在同一个卷上,那么源目录只是重命名为目标位置,因此源不再存在。这就是mv() 的编写方式。另外,您为什么要使用files.forEach(),然后不使用您正在迭代的file?你的代码在这方面看起来是错误的。
  • 谢谢!我能够解决这个问题。由于它是生产代码,我无法粘贴整个代码:但我让它按我的意愿工作。下面的代码段: files.forEach(function(file){ mv(pathToPdf+file, intermediate+file, function(err) { if(err){ console.log("oops!") } });

标签: javascript node.js


【解决方案1】:
 files.forEach(function(file){
           console.log(file)
            console.log("pathToPdf", pathToPdf+file)
            mv(pathToPdf+file, intermediate+file, function(err) {
                if(err){
                    console.log("oops!")
                }
            });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-07
    • 2013-01-07
    • 2017-06-25
    • 2017-05-06
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多