日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

NodeJS:将指定文件夹内所有文件重命名为英文

發布時間:2025/4/16 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NodeJS:将指定文件夹内所有文件重命名为英文 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在編程之前,一定要有一個信條:代碼是為了減少工作量而生的,重復枯燥的工作是不能容忍的。

需求

我前天遇到了一個小問題,需求是這樣的: 我需要一個文件夾里面的所有圖片文件并上傳到服務器上,但是朋友給我發的文件夾里的圖片文件全是中文命名,為了整潔性,我想將所有文件名rename成相應的英文。

思路

1.一個翻譯工具(百度翻譯API、有道翻譯API等)。

2.遞歸遍歷所有文件夾,依次重命名。

簡單!

實踐

  • 語言

NodeJS

  • 需求模塊

fs/request。

  • 代碼
//引入模塊 var fs = require("fs"); var request = require('request'); //下面是百度翻譯API的函數文件和參數 var fn = require('./js-sdk/md5.js');//百度的MD5編碼文件 var appid = '';//你申請的百度APIID var key = '';//你的秘鑰 var salt = (new Date).getTime();//隨機數 var rename = function(src) {// 讀取目錄中的所有文件/目錄fs.readdir(src, function(err, paths) {if (err) {throw err;}paths.forEach(function(path) {//拼合路徑var _src = src + '/' + path;//判斷文件狀態fs.stat(_src, function(err, st) {if (err) {throw err;}// 判斷是否為文件if (st.isFile()) {var query = path.split('.')[0];// 多個query可以用\n連接 如 query='apple\norange\nbanana\npear'var from = 'zh';//轉譯之前的語種var to = 'en';//轉譯之后的語種var str1 = appid + query + salt + key;//這里的fn是我將MD5.js文件中的MD5函數暴露并引入的var sign = fn.fn(str1);var url = 'http://api.fanyi.baidu.com/api/trans/vip/translate?q=' + query + '&from=' + from + '&to=' + to + '&appid=' + appid + '&salt=' + salt + '&sign=' + sign;request(encodeURI(url), function(error, response, body) {if (!error && response.statusCode == 200) {//將返回的數據拼合成為路徑var newPath = src + '/' + ((JSON.parse(body).trans_result[0].dst).replace(/\s+/g, "")).toLowerCase() + '.png';//重命名fs.rename(_src, newPath, function(err) {if (err) throw err;});}})}// 如果是目錄則遞歸調用自身else if (st.isDirectory()) {exists(_src, rename);}});});});var exists = function(src, callback) {callback(src);};exists('./test', rename); }; 復制代碼

提示

1.優化代碼的邏輯和整潔性是面對循環調用時要注意的點。

END

這篇小筆記就結束了,算是比較輕松的一個輪子了。我將在下篇文章寫出由這篇衍生出的需求————將文件夾按照存放路徑順序變成一個JSON。

轉載于:https://juejin.im/post/5bc30b09e51d450e6f2e9eae

總結

以上是生活随笔為你收集整理的NodeJS:将指定文件夹内所有文件重命名为英文的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。