NodeJS 文件夹拷贝以及删除功能
2019-09-03 11:07
1311 查看
文件夹拷贝
function CopyDirectory(src, dest) { if (IsFileExist(dest) == false) { fs.mkdirSync(dest); } if (fs.existsSync(src) == false) { return false; } // console.log("src:" + src + ", dest:" + dest); // 拷贝新的内容进去 var dirs = fs.readdirSync(src); dirs.forEach(function(item){ var item_path = path.join(src, item); var temp = fs.statSync(item_path); if (temp.isFile()) { // 是文件 // console.log("Item Is File:" + item); fs.copyFileSync(item_path, path.join(dest, item)); } else if (temp.isDirectory()){ // 是目录 // console.log("Item Is Directory:" + item); CopyDirectory(item_path, path.join(dest, item)); } }); }
文件夹删除
function DeleteDirectory(dir) { if (fs.existsSync(dir) == true) { var files = fs.readdirSync(dir); files.forEach(function(item){ var item_path = path.join(dir, item); // console.log(item_path); if (fs.statSync(item_path).isDirectory()) { DeleteDirectory(item_path); } else { fs.unlinkSync(item_path); } }); fs.rmdirSync(dir); } }
nodejs实现文件的拷贝复制
var fs = require( 'fs' ), stat = fs.stat; /* * 复制目录中的所有文件包括子目录 * @param{ String } 需要复制的目录 * @param{ String } 复制到指定的目录 */ var copy = function( src, dst ){ // 读取目录中的所有文件/目录 fs.readdir( src, function( err, paths ){ if( err ){ throw err; } paths.forEach(function( path ){ var _src = src + '/' + path, _dst = dst + '/' + path, readable, writable; stat( _src, function( err, st ){ if( err ){ throw err; } // 判断是否为文件 if( st.isFile() ){ // 创建读取流 readable = fs.createReadStream( _src ); // 创建写入流 writable = fs.createWriteStream( _dst ); // 通过管道来传输流 readable.pipe( writable ); } // 如果是目录则递归调用自身 else if( st.isDirectory() ){ exists( _src, _dst, copy ); } }); }); }); }; // 在复制目录前需要判断该目录是否存在,不存在需要先创建目录 var exists = function( src, dst, callback ){ fs.exists( dst, function( exists ){ // 已存在 if( exists ){ callback( src, dst ); } // 不存在 else{ fs.mkdir( dst, function(){ callback( src, dst ); }); } }); }; // 复制目录 exists( './login', './haha', copy );
总结
以上所述是小编给大家介绍的NodeJS 文件夹拷贝及删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关文章推荐
- net8:简易的文件磁盘管理操作二(包括文件以及文件夹的编辑创建删除移动拷贝重命名等)
- Java递归遍历删除拷贝文件以及获取文件夹大小
- C# j基本操作-拷贝文件夹的所有内容到另一个文件夹内: 复制代码 1 public static void CopyDir(string srcPath, string实现文件夹的复制以及删除
- net8:简易的文件磁盘管理操作一(包括文件以及文件夹的编辑创建删除移动拷贝重命名等)
- Nodejs下如何判断文件夹的存在以及删除文件夹下所有的文件
- java 的 文件、文件夹 的建立、删除、复制以及移动等功能 操作
- 删除、拷贝、移动文件夹及其文件
- 获取文件夹下的文件名生成新的文件&DOC命令想从指定的txt中读出文件名,然后在指定文件夹以及子目录下搜索文件,并拷贝到指定目录
- 解决:tomcat重新部署会删除临时文件以及临时文件夹
- Linux下文件/文件夹 创建/拷贝/删除/剪切 小记
- Python简单删除目录下文件以及文件夹的方法
- nodejs ssh2基本功能封装,实现上传、下载文件以及文件夹
- 拷贝文件夹 删除文件夹
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- 为 FCKeditor 增加删除文件和文件夹的功能(C#)
- [转]Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
- C#文件写入,C#追加文件,C#拷贝文件,C#删除文件 ,C#移动文件 ,C#递归删除文件夹及文件
- C语言判断文件夹或者文件是否存在以及权限等信息access函数和删除文件或目录 remove()函数使用实例
- SSM框架制作完整版增删改查以及文件上传、下载和批量删除功能
- Python删除目录下的文件以及文件夹