使用 nodejs 将文件夹内容复制到另一个文件夹
Posted
技术标签:
【中文标题】使用 nodejs 将文件夹内容复制到另一个文件夹【英文标题】:Copy folder content to another folder with nodejs 【发布时间】:2019-12-20 20:36:45 【问题描述】:我正在寻找一种将文件夹的内容复制到另一个文件夹的方法,或者甚至将文件夹替换为旧文件夹,但保留其名称。
感谢您的帮助。
【问题讨论】:
另见:Copy folder recursively in 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!");
);
【讨论】:
如果我们只想复制文件而不重新创建文件夹结构怎么办?我们该怎么做?以上是关于使用 nodejs 将文件夹内容复制到另一个文件夹的主要内容,如果未能解决你的问题,请参考以下文章
使用 Nodejs 将文件从 Azure 存储 blob(容器)复制到 Azure 文件共享