强迫症犯了_重命名

野生程序猿-杂烧4年前随意分享367

文件夹里的文件命名是这样的,1.mp4,2.mp4,...,999.mp4 看着不舒服,我喜欢 001.mp4,002.mp4,003.mp4。很多播放软件 1后面是11、12排序的。

于是通过nodejs进行重命名

var fs = require('fs');

var PATH = '.'; // 目录

//  遍历目录得到文件信息
function walk(path, callback) {
    var files = fs.readdirSync(path);
 
    files.forEach(function(file){
        if (fs.statSync(path + '/' + file).isFile()) {
            callback(path, file);
        }
    });
}

// 修改文件名称
function rename (oldPath, newPath) {
    fs.rename(oldPath, newPath, function(err) {
        if (err) {
            throw err;
        }
    });
}

function quzheng3(num)
{
	num=num*1;
	if(num<10)
	{
		num="00"+num;
	}else if(num<100){
		num="0"+num;
	}
	return num;
}

function get_houzhui(name)
{
	var name_arr=name.split(".");
	name=name_arr[name_arr.length-1];
	return name;
}

// 运行
walk(PATH, function (path, fileName) {
	
	
		var houzhuiming=get_houzhui(fileName);
		//console.log(houzhuiming);

		if(houzhuiming=='rmvb' || houzhuiming=='mp4')
		{
			
			var oldPath = path + '/' + fileName, // 源文件路径
			
			new_fileName=fileName.replace(/[^0-9]/ig,"");
			new_fileName=quzheng3(new_fileName);
			var  newPath = path + '/'+ new_fileName+'.'+houzhuiming; // 新路径
			
			
			console.log(oldPath);
			console.log(newPath);			
		}

	try{
		//rename(oldPath, newPath);
	}catch(e){}
    
});


标签: nodejs

相关文章

nodejs裁剪图片

nodejs裁剪图片

这是个真实的案例,下面脚本是真实跑通的,走过了一些坑,这里来给大家分享一下 首先描述一下场景,我们是做教学软件的,这个是开发一个X光机安检教学场景,有...

nodejs对memcache进行备份与恢复

memcache是个古老的高速缓存工具,前辈们古老的程序还用着。但是市场上没有完美的备份恢复工具,老板让我开发一个。这需求让我两眼一抹黑,完全不知所措。先模拟一下思路,可以telenet到端口上,然后...

nodejs同步mysql操作类

nodejs越来越火了,打算稍微在深入学习一下,于是把php的mysql操作类库稍微改了一下,为了保留php思路,这里加入了同步的方法。简单测了一下,本地 没有问题,不知道同步在多人访问时候是否有坑,...

初学nodejs+express,打造cms系统(5)

今天来尝试做上传功能,其实就是一个上传接口。已经跟php完全两样了,两眼一抹黑,直接百度搜索出来拿过来用,也不知道性能如何,反正可以跑通,需要找机会验证一下。【upload.js】//api库&nbs...

初学nodejs+express,打造cms系统(4)

前面已经改造了基础模块,下面到了页面制作环节。先前的脚手架已经支持ejs了,在views文件夹里出现了测试ejs,下面基本上是锻炼自己仿写能力了。【routes/api.js】var exp...

nodejs同步操作sqlite3类

electron是基于nodejs的,为了方便electron存储,想到了sqlite这种轻便数据库。作为桌面应用,不像nodejs写服务端,为了简化开发,所以写了个同步的操作sqlite的类库,需要...