这只是个便签博,方便以后再拿出来用。。
刚刚下了个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
本站文章未经文下加注授权不得拷贝发布。
技术帝就是厉害
我处理各种事情,经常临时写 Javascript 代码。
用node执行吗?
我在 HTML 上用浏览器执行,不过以后不会这样了。
一般不涉及什么文件操作和特别功能的话我还是直接放浏览器控制台里执行的。。。
→_→有个软件叫Renamer 也可以用批处理吧
是个码农就要有自己动手的精神啦