安装依赖

$ 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 === )
// 回调
cb && cb(body)
})
} // 从字符串中区分出名字和后缀
const get = name => {
const len = name.lastIndexOf('.')
return { name: name.substr(, 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}`)
})
}
})
}
})()

nodejs 遍历文件夹下所有的图片改名为中文的更多相关文章

  1. nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG

    需求描述,由于工作的需要,需要将原本用于1280 720的网页改为1920 1080的网页(电视端页面).需求可以拆分为两部分,代码部分的修改以及图片的修改.在代码部分,需要将所有位置以及大小相关的值 ...

  2. matlab遍历文件夹下所有图片和遍历所有子文件夹下图片

    做图像处理实验,经常需要遍历当前文件下所有图片.matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的.函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文 ...

  3. Python脚本:删除文件夹下的重复图片,实现图片去重

    近期在整理相册的时候,发现相册中有许多重复图片,人工一张张筛查删除太枯燥,便写下这个脚本,用于删除文件夹下重复的图片. 第一部分:判断两张图片是否相同 要查找重复的图片,必然绕不开判断两张图片是否相同 ...

  4. C#遍历文件夹下所有文件

    FolderForm.cs的代码如下: using System; using System.Collections.Generic; using System.Diagnostics; using ...

  5. JAVA 遍历文件夹下的所有文件

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  6. PHP遍历文件夹下的文件和获取到input name的值

    <?php$dir = dirname(__FILE__); //要遍历的目录名字 ->当前文件所在的文件夹//$dir='D:\PHP\wamp\www\admin\hosts\admi ...

  7. JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  8. PHP遍历文件夹下所有文件

    不论是面试还是正常工作需要都会用到遍历文件夹下的所有文件,今天就记录一下笔记.废话不多说直接上代码: <?php /** * 遍历当前文件夹展示所有的文件和目录 */ function dirL ...

  9. Java遍历文件夹下的所以文件

    利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...

随机推荐

  1. 【树莓派】树莓派上刷android系统

    这位前辈之前做了基于android2.3版本刷入树莓派的事情,http://blog.csdn.net/lichwei1983/article/details/44082669 1.android 镜 ...

  2. leverage准确翻译,译法,英文

    这个词的翻译很有问题.很多大词典都只有这么几个译法:影响力,杠杆.作为动词的时候我建议翻译为:借助,凭借,凭仗,依仗,借重某外文原稿(https://www.vmware.com/files/pdf/ ...

  3. 很赞的idea教程

    感谢: http://pan.baidu.com/s/1dDEaVxn

  4. Postgresql学习笔记

    一:数据类型 主要有三大类以及其他一些杂项类型: 数值型.字符型.日期型. 数值型: 名称 描述 存储大小 范围 smallint 存储整数,小范围 2字节 -32768 至 +32767 integ ...

  5. Servlet简介与生命周期

    一:Servlet是什么 Servlet是运行在Web服务器上的Java程序,作为处理来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层.JSP在w ...

  6. VIM设置代码折叠

    今天看了一下别人写的程序的源代码,发现是用vim写的,代码中有趣是用vim来折叠代码,一开始我以为是用插件的,后来上网查了查,得出以下使用方面的技巧. 1. 折叠方式 可用选项来设定折叠方式: 可在V ...

  7. 〖Linux〗让Kubuntu的“启动栏”与Win7“任务栏”的界面和功能一样

    先来展示一下我的桌面效果图: === 是否发现这与Windows 7任务栏非常相似?哈哈- === 背景: 玩久了Unity,想换个品味,就把Ubuntu安装了KDE桌面,发现甚是不错: 这里教大家怎 ...

  8. django之异常错误

    现象:最近需要抓取一些网页的信息,但发现Python的乱码问题相对Java来说,不太一样.按照以往Java解决中文乱码问题的思路去解决Python乱码,貌似行不通,报错信息: SyntaxError: ...

  9. uml中活动图与流程图的区别

    活动图定义: 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图. 它是UML中用于对系统动态活动建模的图形,反映 ...

  10. 【TP3.2+onethink1.0】2个Ueditor 回显数据,第2个会把第1个覆盖

    1.最近在使用onethink1.0 框架进行二次开发,在编辑页面,生成2个ueditor 在数据回显的时候,发现第2个ueditor的数据会覆盖第1个ueditor,咋办? 2.原因: 3.解决方法 ...