NodeJS 文件夾拷貝以及刪除功能
文件夾拷貝
function CopyDirectory(src, dest) { if (IsFileExist(dest) == false) { fs.mkdirSync(dest); } if (fs.existsSync(src) == false) { return false; } // console.log("src:" + src + ", dest:" + dest); // 拷貝新的內(nèi)容進(jìn)去 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實(shí)現(xiàn)文件的拷貝復(fù)制
var fs = require( 'fs' ), stat = fs.stat; /* * 復(fù)制目錄中的所有文件包括子目錄 * @param{ String } 需要復(fù)制的目錄 * @param{ String } 復(fù)制到指定的目錄 */ 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() ){ // 創(chuàng)建讀取流 readable = fs.createReadStream( _src ); // 創(chuàng)建寫入流 writable = fs.createWriteStream( _dst ); // 通過管道來傳輸流 readable.pipe( writable ); } // 如果是目錄則遞歸調(diào)用自身 else if( st.isDirectory() ){ exists( _src, _dst, copy ); } }); }); }); }; // 在復(fù)制目錄前需要判斷該目錄是否存在,不存在需要先創(chuàng)建目錄 var exists = function( src, dst, callback ){ fs.exists( dst, function( exists ){ // 已存在 if( exists ){ callback( src, dst ); } // 不存在 else{ fs.mkdir( dst, function(){ callback( src, dst ); }); } }); }; // 復(fù)制目錄 exists( './login', './haha', copy );
總結(jié)
以上所述是小編給大家介紹的NodeJS 文件夾拷貝及刪除功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- nodejs如何獲取指定路徑下所有的文件夾名或類型
- 純異步nodejs文件夾(目錄)復(fù)制功能
- nodejs文件夾深層復(fù)制功能
- nodejs對(duì)項(xiàng)目下所有空文件夾創(chuàng)建gitkeep的方法
- nodejs實(shí)現(xiàn)獲取本地文件夾下圖片信息功能示例
- nodejs遍歷文件夾下并操作HTML/CSS/JS/PNG/JPG的方法
- NodeJS 將文件夾按照存放路徑變成一個(gè)對(duì)應(yīng)的JSON的方法
- Nodejs實(shí)現(xiàn)多文件夾文件同步
- nodejs判斷文件、文件夾是否存在及刪除的方法
- Nodejs 復(fù)制文件/文件夾的方法
- nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小
- nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法示例
相關(guān)文章
node.js使用redis儲(chǔ)存session的方法
這篇文章主要介紹了node.js使用redis儲(chǔ)存session的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09手把手教你使用TypeScript開發(fā)Node.js應(yīng)用
為了減少代碼編寫過程中出現(xiàn)的錯(cuò)誤,以及更好的維護(hù)你的項(xiàng)目,本文將手把手教你配置一個(gè)簡單的開發(fā)環(huán)境來編寫Node.js的應(yīng)用程序,感興趣的小伙伴們可以參考一下2019-05-05Node.js使用Express創(chuàng)建Web項(xiàng)目詳細(xì)教程
如果需要入門使用node.js進(jìn)行web開發(fā),正在學(xué)習(xí) nodejs web開發(fā)指南 的和想快速了解node.js web開發(fā)模式的朋友,相信本文是有一定幫助意義的。2017-03-03Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版
這篇文章主要介紹了Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版 的相關(guān)資料,需要的朋友可以參考下2015-12-12使用NodeJs 開發(fā)微信公眾號(hào)(三)微信事件交互實(shí)例
這篇文章主要介紹了使用NodeJs 開發(fā)微信公眾號(hào)(三)微信事件交互實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-03-03一會(huì)帶你學(xué)會(huì)用Webpack搭建開發(fā)環(huán)境并打包代碼
這篇文章主要給大家介紹了關(guān)于如何用Webpack搭建開發(fā)環(huán)境并打包的相關(guān)資料,webpack是一個(gè)現(xiàn)代JavaScript應(yīng)用程序的靜態(tài)模塊打包器(module bundler),需要的朋友可以參考下2023-08-08