技术小黑屋

每周一脚本:批量对多个文件增加前缀

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

代码

lineos:false add_prefix_files.rblink
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/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]
}

如何使用

使用的方法

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

使用示例

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

lineos:false
1
~/rubydir/tools/add_prefix_files.rb ./ test_

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

lineos:false
1
 ~/rubydir/tools/add_prefix_files.rb ./ test_  "res/drawable-hdpi/*.png"

其他


我的知乎 Live 推荐