nodejs 遍历文件夹下所有的图片改名为中文
安装依赖
$ 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 遍历文件夹下所有的图片改名为中文的更多相关文章
- nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG
需求描述,由于工作的需要,需要将原本用于1280 720的网页改为1920 1080的网页(电视端页面).需求可以拆分为两部分,代码部分的修改以及图片的修改.在代码部分,需要将所有位置以及大小相关的值 ...
- matlab遍历文件夹下所有图片和遍历所有子文件夹下图片
做图像处理实验,经常需要遍历当前文件下所有图片.matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的.函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文 ...
- Python脚本:删除文件夹下的重复图片,实现图片去重
近期在整理相册的时候,发现相册中有许多重复图片,人工一张张筛查删除太枯燥,便写下这个脚本,用于删除文件夹下重复的图片. 第一部分:判断两张图片是否相同 要查找重复的图片,必然绕不开判断两张图片是否相同 ...
- C#遍历文件夹下所有文件
FolderForm.cs的代码如下: using System; using System.Collections.Generic; using System.Diagnostics; using ...
- JAVA 遍历文件夹下的所有文件
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...
- PHP遍历文件夹下的文件和获取到input name的值
<?php$dir = dirname(__FILE__); //要遍历的目录名字 ->当前文件所在的文件夹//$dir='D:\PHP\wamp\www\admin\hosts\admi ...
- JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...
- PHP遍历文件夹下所有文件
不论是面试还是正常工作需要都会用到遍历文件夹下的所有文件,今天就记录一下笔记.废话不多说直接上代码: <?php /** * 遍历当前文件夹展示所有的文件和目录 */ function dirL ...
- Java遍历文件夹下的所以文件
利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...
随机推荐
- oneinstack一键部署linux生产环境那点事(ubuntu)
http://oneinstack.com/install/ (1)将oneinstack-full.tar.gz最新版安装文件上传至/usr/local/下 (2)解压tar xzvf oneins ...
- Java I/O 操作及优化建议
Java I/O I/O,即 Input/Output(输入/输出) 的简称.就 I/O 而言.概念上有 5 种模型:blocking I/O.nonblocking I/O,I/O multiple ...
- 算法笔记_215:第六届蓝桥杯软件类校赛部分真题(Java语言B组)
目录 1 题目一 2 题目二 3 题目三 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 java中提供了对正则表达式的支持. 有的时候,恰当地使用正则,可以让我们的工作事半功倍! 如下代码 ...
- 海南小地图(echart)
先看效果 这个是海南省地图: 然后看引入的html: <body class=""> <div class="container"> & ...
- 【翻译自mos文章】当/var/tmp文件夹被remove掉之后,GI crash,并启动失败,原因是ohasd can not create named pipe
来源于: GI crashes and fails to start after "/var/tmp" directory was removed as ohasd can not ...
- 〖Android〗Android源代码所有目录生成的Target(编译生成文件反查)
=> build/tools/zipalign: out/host/linux-x86/bin/zipalign (host) => build/tools/atree: out/host ...
- 基于python2【重要】怎么自行搭建简单的web服务器
基本流程:1.需要的支持 1)python本身有SimpleHTTPServer 2)ForkStaticServer.py支持,该文件放在python7目录下 3)将希望共享 ...
- Inno Setup入门(八)——有选择性的安装文件
这主要使用[Components]段实现,一个演示的代码如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST DefaultDirName=" ...
- 【CAS单点登录视频教程】 第05集 -- CAS服务器安装
第一步: 下载cas 服务器 cas-server-3.5.2-release.zip 目录 ----------------------------------------- [CAS单点登录视频教 ...
- Eclipse启动分析。。
最近研究了一下Eclipse的启动过程,查了点资料,也有点收获.下面是搜集到的一个比较好的说明,共享下... 在Eclipse启动过程中,Eclipse.exe负责启动,也就是把startup.jar ...