[Node.js]批量重命名音乐专辑内音乐文件名

这只是个便签博,方便以后再拿出来用。。

刚刚下了个LL大法的全套音乐专辑,(原谅我又盗版了),然后里面每个CD的音乐都是一如既往有编号的,不过我们放进自己播放列表的话并不需要这些编号,所以我要把它们去掉。

 

作为一个程序员,怎么能一个个手动改名呢,这简直是耻辱!

因为在win8.1环境下,我首先考虑的是powershell,不过问题来了。。。我不会啊。。。临时学习的话反而更加浪费时间了,那么只能找一个我会的语言,所以最后我选了node。

音乐文件名的格式是这样的`(编号)歌名.mp3` (好吧这其实是人家已经从原始wav里分割出来的了),所以我要做的就是去掉前面的括号,很简单,那么开始吧。

 

'use strict';	//开启严格模式(因为我用了let)
var fs=require('fs');	//载入fs模块

var dirpath=process.cwd();	//以执行命令的路径为目标(这样就可以把它放path里,随便到那个目录输个命令就可以执行了)
var filelist=fs.readdirSync(dirpath);	//获取文件列表(字符串型文件名列表)

filelist.forEach(function(f){	//遍历
	let fullpath=`${dirpath}\\${f}`;	//合成完整的文件路径
	if(f.match(/^\(\d+\)/)){	//判断是不是有编号的文件名
		let newname=f.replace(/^\(\d+\)/,'');	//去掉编号
		fs.renameSync(fullpath,`${dirpath}\\${newname}`);	//拼成新文件名并重命名
		console.log(newname);	//输出确认
	}
});

好了,这样所有音乐就都去掉编号了,看起来清爽多了。

 

#注:上面的代码使用了ES6特性,所以使用nodejs执行的话需要加上`–harmony` 参数,否则会报错。iojs的话可以直接执行。



本文发布于 https://luojia.me

本站文章未经文下加注授权不得拷贝发布。

0 0 投票数
打分
订阅评论
提醒
guest
7 评论
内联反馈
查看所有评论
雪鹰领主
游客
9 年 前

技术帝就是厉害

tcdw
游客
9 年 前

我处理各种事情,经常临时写 Javascript 代码。

tcdw
游客
9 年 前
回复给  罗佳(博主)

我在 HTML 上用浏览器执行,不过以后不会这样了。

Mooction
游客
9 年 前

→_→有个软件叫Renamer 也可以用批处理吧