【问题标题】:Copy folder content to another folder with nodejs使用 nodejs 将文件夹内容复制到另一个文件夹
【发布时间】:2019-12-20 20:36:45
【问题描述】:

我正在寻找一种将文件夹的内容复制到另一个文件夹的方法,或者甚至将文件夹替换为旧文件夹,但保留其名称。

感谢您的帮助。

【问题讨论】:

标签: node.js


【解决方案1】:

首先通过npm install fs-extra在您的项目中安装fs-extra模块,然后按照以下步骤操作:

导入以下内容

var fs = require('fs');
var fs_Extra = require('fs-extra');
var path = require('path');

// 在这里声明你的路径

var sourceDir = path.join(__dirname, "../working");
var destinationDir = path.join(__dirname, "../worked")

//如果文件夹不存在则创建它

if (!fs.existsSync(destinationDir)){
    fs.mkdirSync(destinationDir, { recursive: true });
}

//复制文件夹内容

fs_Extra.copy(sourceDir, destinationDir, function(error) {
    if (error) {
        throw error;
    } else {
      console.log("success!");
    }
}); 

注意:源和目标文件夹名称不应相同。

【讨论】:

  • 这只是复制目录而不是它的内容
【解决方案2】:

如果不创建,首先检查目标路径是否存在, 那么你可以使用 fs-extra 来复制文件/子目录。

var fs = require('fs');
var fse = require('fs-extra');

var sourceDir = '/tmp/mydir';
var destDir = '/tmp/mynewdir';


// if folder doesn't exists create it
if (!fs.existsSync(destDir)){
    fs.mkdirSync(destDir, { recursive: true });
}

//copy directory content including subfolders
fse.copy(sourceDir, destDir, function (err) {
  if (err) {
    console.error(err);
  } else {
    console.log("success!");
  }
}); 

【讨论】:

  • 如果我们只想复制文件而不重新创建文件夹结构怎么办?我们该怎么做?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
相关资源
最近更新 更多