nodejs 批量压缩图片并按原图文件夹分类保存

在这里插入图片描述
在这里插入图片描述
nodejs 代码

var images = require("images")
var fs = require("fs")
var path = "./imgtemp"   //原图路径
var savepath = "./imgzip"  //压缩图保存路径

function explorer(path){
	fs.readdir(path, function(err, files){    //err 为错误 , files 文件名列表包含文件夹与文件
		if(err){  
			console.log('error:\n' + err);
			return;
		}

		files.forEach(function(file){
			fs.stat(path + '/' + file, function(err, stat){
				if(err){
					console.log(err);
					return;
				}
				
				if(stat.isDirectory()){                    
					explorer(path + '/' + file);  // 如果是文件夹就遍历
					
				} else {                    
					//console.log('文件名:' + path.substring(9) + '/' + file);  // 读出所有的文件					
					var name = path + '/' + file;
					var dirName = savepath + path.substring(9) ;
					var fileName = savepath + path.substring(9) + '/' + file;
					fs.exists(dirName, function(exists) {  //判断文件夹是否存在
						if(exists){
							console.log('文件夹存在')
							//images(name).save(fileName, { quality : 60 });  //保存图片到文件,图片质量为60
						}
						if(!exists){
							console.log('文件夹不存在')
							fs.mkdir(dirName,{recursive:true},(err)=> {  //创建文件夹
								if(err){
									console.log('X 文件夹创建失败')
								}else{
									console.log('文件夹创建成功')
									images(name).save(fileName, { quality : 60 });  //保存图片到文件,图片质量为60	
								}
							})
						}
					})
				}               
			})
		})
	})
}
explorer(path);


批处理运行代码,就不用每次打开cmd窗口输入命令
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值