Ruby实现批量对文件增加前缀代码分享

最近从设计师那里get了超多的图,结果都是1.png,2.png这样的文件名,自己还需要将这些文件变成可读的文件名,不想一个一个得修改,于是就写了一个简单的脚本,实现批量对多个文件增加前缀的操作,后期修改了一下,分享一下。

代码

#!/usr/bin/env ruby
# encoding: utf-8

srcDir= ARGV[0]
prefix= ARGV[1]
pattern = '*'
pattern = ARGV[2] if ARGV.size == 3

Dir[srcDir + '/' + pattern ].each{|child|
    childName = File.basename(child)
    destChildName = prefix  + childName
    destChild = child.gsub(childName, destChildName)
    system 'mv %s %s'%[child, destChild]
}

如何使用

使用的方法

1.ruby add_prefix_files.rb dest_folder prefix pattern
2.dest_folder 必选 操作进行的基础目录,并不一定总是直接父目录
3.prefix 必须 前缀名称 建议结尾以_结束
4.pattern 可选,如不填写为dest_folder的直接子文件(含目录),否则应用提供的pattern匹配

使用示例

对当前目录下所有文件增加test_前缀。

~/rubydir/tools/add_prefix_files.rb ./ test_

对当前目录下res/drawable-hdpi/所有的png文件,增加test_前缀

 ~/rubydir/tools/add_prefix_files.rb ./ test_  "res/drawable-hdpi/*.png"