安裝依賴
$ npm init -y && npm i fs-extra globby request -S
main.js
const fs = require('node-fs-extra')
const globby = require('globby')
const request = require('request')
// 簡單的GET請求獲取翻譯結果
const _request = (text, cb) => {
request({
url: encodeURI(`http://119.23.22.136:6635/baidu_transapi.php?text=${text}&type=tuofeng`),
}, function (err, response, body) {
// 如果翻譯異常那么直接中斷
if (err)
// 拋出異常吧
throw new Error(`${err.message} ///////////////// ${text} ///////////////// ${body}`)
// 必須有內容返回並且請求碼為200才可以回調
if (body && response.statusCode === 200)
// 回調
cb && cb(body)
})
}
// 從字符串中區分出名字和后綴
const get = name => {
const len = name.lastIndexOf('.')
return { name: name.substr(0, len), ext: name.substr(len) }
}
// 遍歷當前文件夾下所有的文件
(async () => {
// 篩選當前文件夾下的文件類型
const names = await globby(['*.png|*.jpg|*.gif'])
// 開始遍歷改名
for (let [index, filename] of names.entries()) {
// 獲取文件名和前綴
const { name, ext } = get(filename)
// 發送請求
_request(name, ch => {
// 如果翻譯結果不為空並且不為原本的值
if (ch && ch != name) {
// 那么修改文件名
fs.rename(filename, ch + ext, err => {
// 如果出現異常,那么直接中止
if (err)
// 拋出異常吧
throw new Error(`${err.message} ///////////////// ${filename} ///////////////// ${ch}`)
})
}
})
}
})()