利用node實現(xiàn)一個批量重命名文件的函數(shù)
前言
最近在吃午飯的時候突然想起來在新大上JS課程時,老師講node的時候提了一句說node可以批量重命名文件,我就想著看看能不能實現(xiàn)這個功能。
看了node的官方文檔,查到fs模塊有一個readdir的API,它讀取一個目錄的內(nèi)容,測試了一下,返回的結(jié)果是一個數(shù)組,元素就是文件夾的名字。詳細(xì)的介紹可以參考這里:http://www.dhdzp.com/article/58609.htm
還有一個API,rename聽名字就是重命名相關(guān)的。詳細(xì)的可以參考這里:http://www.dhdzp.com/article/58548.htm
實現(xiàn)思路
整理了一下思路很簡單,就是先把原文件的文件名讀取出來放入一個數(shù)組,再把新名字作為一個數(shù)組,用renameAPI實現(xiàn),但是批量重命名的名字只能遵循數(shù)字 +1 的規(guī)律,寫了如下函數(shù)
示例代碼
//rename.js
const fs = require('fs') //引入node內(nèi)置的文件系統(tǒng)
function rename() {
let newName = []
fs.readdir('./file/', (err, oldName) => { //讀取file文件夾下的文件的名字,oldName是一個數(shù)組
if (err) {
console.log(err)
}
for (let i = 0; i < oldName.length; i++) {
let name = `new${i}.jpg` // 以圖片為例
newName[i] = name // 把名字賦給一個新的數(shù)組
}
for (var i = 0; i < oldName.length; i++) {
let oldPath = `./file/${oldName[i]}` //原本的路徑
let newPath = `./file/${newName[i]}` //新路徑
fs.rename(oldPath, newPath, (err) => { //重命名
if (err) {
console.log(err)
}
console.log('done!')
})
}
})
}
rename()
文件目錄

file文件夾下放置要重命名的文件
打開終端,cd到rename文件夾下,執(zhí)行node rename.js即可
這只是一個簡單的實現(xiàn),還是有很多不足,有更好的方法,歡迎討論
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
nodejs發(fā)送http請求時遇到404長時間未響應(yīng)的解決方法
這篇文章主要為大家詳細(xì)介紹了nodejs發(fā)送http請求時遇到404長時間未響應(yīng)的解決方法2017-12-12
在Debian(Raspberry Pi)樹莓派上安裝NodeJS的教程詳解
在樹莓派上運行NodeJS并不需要特別的配置,你只需要確保可以用openssh遠(yuǎn)程連接到你的樹莓派就ok了,關(guān)于在Debian(Raspberry Pi)樹莓派上安裝NodeJS的方法,大家可以通過本文了解下2017-09-09
node上的redis調(diào)用優(yōu)化示例詳解
這篇文章主要給大家介紹了關(guān)于node上redis調(diào)用優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10
nodejs連接mongodb數(shù)據(jù)庫實現(xiàn)增刪改查
本篇文章主要結(jié)合了nodejs操作mongodb數(shù)據(jù)庫實現(xiàn)增刪改查,包括對數(shù)據(jù)庫的增加,刪除,查找和更新,有興趣的可以了解一下。2016-12-12
基于node.js依賴express解析post請求四種數(shù)據(jù)格式
本篇文章主要介紹了node.js依賴express解析post請求四種數(shù)據(jù)格式,主要是www-form-urlencoded,form-data,application/json,text/xml,有興趣的可以了解一下。2017-02-02
基于Node的Axure文件在線預(yù)覽的實現(xiàn)代碼
這篇文章主要介紹了基于Node的Axure文件在線預(yù)覽的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
node 使用 nodemailer工具發(fā)送驗證碼到郵箱
最近閑著沒事,我就在練習(xí)使用node和mysql編寫接口,計劃寫一個完整的vue系統(tǒng),這篇文章主要介紹了node 使用 nodemailer工具發(fā)送驗證碼到郵箱,需要的朋友可以參考下2023-10-10
Node.js net模塊功能及事件監(jiān)聽用法分析
這篇文章主要介紹了Node.js net模塊功能及事件監(jiān)聽用法,結(jié)合實例形式分析了net模塊功能及事件監(jiān)聽相關(guān)操作技巧,需要的朋友可以參考下2019-01-01

