Ruby实现批量对文件增加前缀代码分享_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"

时间: 2024-10-26 07:54:36

Ruby实现批量对文件增加前缀代码分享_ruby专题的相关文章

ruby实现的文件自删除代码分享_ruby专题

因为windows的文件删除机制和unix like的不一样,so不保证如下代码能在windows中使用,哪位童鞋帮我在windows中测试一下也好啊! 复制代码 代码如下: #!/usr/bin/ruby 5.times do |x|  File.open($0,"w+") do |f|   f.puts "module M"   f.puts "def M.var;#{x**x} end"   f.puts "end"  

Shell脚本批量修改文件后缀名代码分享_linux shell

早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了"格式不正确"而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就

Ruby实现生产者和消费者代码分享_ruby专题

#ruby实现生产者和消费者代码 require 'thread' queue = Queue.new consumers = Thread.new do 5.times do |i| obj = queue.pop print "consumer :#{i}\n" sleep(rand(0.05)) end end producters = Thread.new do 5.times do |i| sleep(0.1) print "producter : #{i}\n&q

ThinkPHP文件缓存类代码分享

  ThinkPHP文件缓存类代码分享         取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

收集的多个ruby遍历文件夹代码实例_ruby专题

一.遍历文件夹下所有文件,输出文件名 复制代码 代码如下: def traverse_dir(file_path)     if File.directory? file_path         Dir.foreach(file_path) do |file|             if file !="." and file !=".."                 traverse_dir(file_path+"/"+file)   

PHP文件操作实现代码分享_php技巧

将数据写或读入文件,基本上分为三个步骤: 1. 打开一个文件(如果存在) 2. 写/读文件 3. 关闭这个文件 l打开文件 在打开文件文件之前,我们需要知道这个文件的路径,以及此文件是否存在. 用$_SERVER["DOCUMENT_ROOT"]内置全局变量,来获得站点的相对路径.如下: $root = $_SERVER["DOCUMENT_ROOT"]; 在用函数file_exists()来检测文件是否存在.如下: If(!file_exists("$r

ruby on rails 代码技巧_ruby专题

git仓库输出 git archive --format=tar --prefix=actasfavor/ HEAD | (cd /home/holin/work/ && tar xf -) 输出到/home/holin/work/actasfavor/目录下 Posted by holin At May 16, 2008 16:42 加载plugins中的controller和model # Include hook code here require 'act_as_favor' #

对优化Ruby on Rails性能的一些办法的探究_ruby专题

1.导致你的 Rails 应用变慢无非以下两个原因: 在不应该将 Ruby and Rails 作为首选的地方使用 Ruby and Rails.(用 Ruby and Rails 做了不擅长做的工作) 过度的消耗内存导致需要利用大量的时间进行垃圾回收. Rails 是个令人愉快的框架,而且 Ruby 也是一个简洁而优雅的语言.但是如果它被滥用,那会相当的影响性能.有很多工作并不适合用 Ruby and Rails,你最好使用其它的工具,比如,数据库在大数据处理上优势明显,R 语言特别适合做统计

对Ruby on Rails进行高效的单元测试的教程_ruby专题

在笔者开发的系统中,有大量的数据需要分析,不仅要求数据分析准确,而且对速度也有一定的要求的.没有写测试代码之前,笔者用几个很大的方法来实现这种需求.结果可想而知,代码繁杂,维护困难,难于扩展.借业务调整的机会,笔者痛定思痛,决定从测试代码做起,并随着不断地学习和应用,慢慢体会到测试代码的好处.     改变思路:能做到从需求到代码的过程转换,逐步细化:     简化代码:力图让每个方法都很小,只专注一件事:     优化代码:当测试代码写不出来,或者需要写很长的时候,说明代码是有问题的,是可以被