前端小工具一:批量修改文件夹里面的图片名称
步骤:
1.安装nodejs。
2.根据需要修改editFileName(filePath, formatName)函数的参数,也可以不改,直接将renameFile.js和img文件夹放在同一个目录下。
3.在renameFile.js目录下开启终端,在终端运行node renameFile.js即可。
此功能适合批量按递增规则、批量添加文件名称后缀等来修改图片名称。
renameFile.js:
// 导入node文件系统模块(fs)
var fs = require("fs");
// 这里path是你要读取哪一个目录下的所有文件,如'./img',此时img放在js的同一级目录
var filePath = './img';
var formatName = 'png';
editFileName(filePath, formatName); //将img里面的图片重新命名为1.png 2.png
/**
*
* @param {*} path 文件夹路径 如'./img'
* @param {*} format
*/
function editFileName(path, format) {
fs.readdir(path, function (err, files) {
//files是名称数组,存的是文件夹里面所有的文件名字比如[xx.png]
files.forEach(function (filename, index) {
//运用正则表达式替换oldPath中不想要的部分
var oldPath = path + '/' + filename,
newPath = path + '/' + (index + 1 - 0) + '.' + format;
// fs.rename(oldPath, newPath, callback)
fs.rename(oldPath, newPath, function (err) {
if (!err) {
console.log(filename + '副本替换成功!')
}
})
})
})
}
img原文件夹里面的图片:
renameFile.js目录下开启终端,在终端运行node renameFile.js,,img文件里面的图片:
前端小工具二:批量修改文件夹里面的图片尺寸
步骤:
1.安装nodejs。
2.安装sharp,运行npm install sharp。
3.将resizeFile.js和img文件夹放在同一个目录下,并在同一目录下创建outputImg文件夹(必须创建,如果不创建会报错)。
4.根据需要的尺寸,修改imageSize=[width,height],此案例里面是400*400的尺寸。
5.在resizeFile.js目录下开启终端,在终端运行node renameFile.js即可。
此功能适合批量修改图片的宽高尺寸。
renameFile.js:
const fs = require('fs');
const sharp = require('sharp');
const inputFolder = './img/';
const outputFolder = './outputImg/';
const imageSize = [400, 400];
fs.readdir(inputFolder, (err, files) => {
if (err) console.log(err);
files.forEach(file => {
console.log(file)
sharp(inputFolder + file)
.resize(imageSize[0], imageSize[1])
.toFile(outputFolder + file, (err, info) => {
if (err) {
console.log(err);
};
console.log(info);
//info里面包含图片的信息
// {
// format: 'png',
// width: 400,
// height: 400,
// channels: 4,
// premultiplied: true,
// size: 9466
// }
});
});
});
运行node renameFile.js后,outputImg文件夹里面会出现我们需要的尺寸的图片。