Ruby 脚本 音乐文件自动归档
2010-07-26 22:46
260 查看
注: 该文章为原创,代码可以自由使用,但是作者不保证代码的稳定性,安全性,因此谨慎使用。若转载该文章,请注明出处。
因为自己机器上的音乐比较多,并且存储的位置比较乱,因此用ruby写了个小脚本用来归档音乐文件。这也是第一次使用ruby写脚本,难免有些磕磕碰碰。
贴代码:
sortfile.rb:
如果想不安装ruby解释器执行该程序,可以通过exerb这个小工具把ruby代码文件编译成.exe.
程序假设音乐文件的 文件名格式为: 林俊杰- 一千年以后。
程序的具体逻辑是:
1. 获取脚本运行当前目录下所有的文件。
2. 把文件名分割成两部分,歌曲演唱者的名字,歌曲名称。
3. 检查以歌手的名称的文件夹是否存在,存在则直接将歌曲移动到以歌手名字文件夹明的文件夹。
4. 如果以歌手名字为文件夹明的文件夹不存在的话,创建之,并重复步骤2.
改程序的使用方法为:
cmd-》命令行-》cd music dir-》ruby ......./sortfile.rb
这是手动归档, 如果想自动归档可以写个bat文件,并且通过windows 的schedule 去定期执行脚本。
因为自己机器上的音乐比较多,并且存储的位置比较乱,因此用ruby写了个小脚本用来归档音乐文件。这也是第一次使用ruby写脚本,难免有些磕磕碰碰。
贴代码:
sortfile.rb:
require 'FileUtils' basedir = Dir.pwd ext= "*.mp3" files = Dir.glob(ext) files.each do |file| if(file.index('-')!=nil && file.index('-')>0) begin slices = file.split('-') filePath =File.expand_path(File.join(File.dirname(file),file)) path = File.expand_path(File.join(File.dirname(file),slices[0])) if(File.exist?(filePath)) begin if(File.directory?(path)) begin FileUtils.mv(filePath, path+'/'+file) end else begin FileUtils.mkdir(path) FileUtils.mv(filePath, path+'/'+file) end end end end end end end
如果想不安装ruby解释器执行该程序,可以通过exerb这个小工具把ruby代码文件编译成.exe.
程序假设音乐文件的 文件名格式为: 林俊杰- 一千年以后。
程序的具体逻辑是:
1. 获取脚本运行当前目录下所有的文件。
2. 把文件名分割成两部分,歌曲演唱者的名字,歌曲名称。
3. 检查以歌手的名称的文件夹是否存在,存在则直接将歌曲移动到以歌手名字文件夹明的文件夹。
4. 如果以歌手名字为文件夹明的文件夹不存在的话,创建之,并重复步骤2.
改程序的使用方法为:
cmd-》命令行-》cd music dir-》ruby ......./sortfile.rb
这是手动归档, 如果想自动归档可以写个bat文件,并且通过windows 的schedule 去定期执行脚本。
相关文章推荐
- iOS学习之Ruby脚本自动添加文件到工程
- Shell脚本自动删除指定大小以上的备份文件
- shell脚本中if与case使用,查找文件locate与find的使用,压缩,解压及归档工具
- Linux启动和关闭时自动执行的所有脚本文件
- [Perl]FTP自动上传文件的脚本以及配置文件
- 通过FTP自动上传文件到目标机的shell脚本
- Hibernate使用自定义脚本替换注解或者xml文件中的自动生成表结构
- 服务器自动删除文件的脚本
- 自动打包压缩文件的脚本
- (windows)python脚本:自动备份并压缩文件,同时删除过期文件
- [BAT]win7下用批处理脚本自动删除7天以前创建的文件
- 全面解析Unity3D自动生成的脚本工程文件
- [自动运维]ant脚本打包,上传文件到指定服务器,并部署
- 脚本自动实现DNS服务各区域配置文件
- shell中通配符无法使用和/使用dev/null文件自动清除日志脚本
- 数据库备份文件自动压缩脚本
- 【转载】全面解析Unity3D自动生成的脚本工程文件
- python写一段脚本代码自动完成输入(目录下的所有)文件的数据替换(修改数据和替换数据都是输入的)【转】
- linux服务器文件自动备份脚本