[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={{EJS1}};	//合成完整的文件路径
	if(f.match(/^\(\d+\)/)){	//判断是不是有编号的文件名
		let newname=f.replace(/^\(\d+\)/,'');	//去掉编号
		fs.renameSync(fullpath,{{EJS2}});	//拼成新文件名并重命名
		console.log(newname);	//输出确认
	}
});

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

 

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



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

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

本博客使用Disqus评论系统,如果看不到评论框,请尝试爬墙。