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"
相关推荐
-
在Ruby程序中连接数据库的详细教程
本章节将向您讲解如何使用 Ruby 访问数据库.Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口. DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口.DBI 在 Ruby 代码与底层数据库之间提供了一个抽象层,允许您简单地实现数据库切换.它定义了一系列方法.变量和规范,提供了一个独立于数据库的一致的数据库接口. DBI 可与下列进行交互: ADO (ActiveX Data Object
-
Ruby实现的删除已经合并的git分支脚本分享
使用Git管理代码工程,着实方便了很多,但是当做完feature分支或者完成hotfix之后,总是忘记删除这些无用的分支,一个一个地删除着实麻烦,重复手工劳动不符合程序员的风格,于是写了一个简单的脚本.一键删除那些不需要的分支,让多余的干扰信息离开视线. 删除哪些分支? 删除的为Merge(合并)操作的源分支.如果工程正在处于分支A(HEAD为A分支),分支B已经合并到了分支A,即A分支包含了B分支的内容,则会删除B分支. 代码 复制代码 代码如下: #!/usr/bin/env ruby #
-
Ruby中一些常用的文件操作方法小结
初学Ruby,很多需要学习,现在开始尝试使用Ruby来写一个脚本,其中用到了很多文件相关的操作,这里阶段地整理一些.便于后续的再次查找. 文件或目录是否存在 复制代码 代码如下: File.exist?('file_path') 是否为文件 复制代码 代码如下: File.file?("file_path") 是否为目录 复制代码 代码如下: File.directory?("file_path") 从路径中获取文件名 复制代码 代码如下: File.basenam
-
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[
-
Shell脚本批量修改文件后缀名代码分享
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了"格式不正确"而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就
-
python批量修改文件后缀示例代码分享
ipad的goodreader对JS文件支持不太好,虽然可以读取它但总是无法退出,回不了goodreader的主界面,因此我需要把js文件批量变成纯文本.基于这个目的,我搞了下面一个小应用: 复制代码 代码如下: # -*- coding:utf-8 -*- import osdef rename(): path = raw_input("请输入要处理的文件夹路径") print path old_ext = "."+raw_input("
-
Python验证文件是否可读写代码分享
本文分享实例代码主要在实现验证文件是否有读写权限问题,具体如下: # Import python libs import os def is_writeable(path, check_parent=False): ''' Check if a given path is writeable by the current user. :param path: The path to check :param check_parent: If the path to check does not
-
Java实现读写文件功能的代码分享
目录 读文件 写文件 主函数 实现效果 下面是利用Java实现读写文件功能的示例代码 读文件 TextRead.java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class TextRead { /** * 读取txt文件的内容 * @param file 想要读取的文件对象 * @return 返回文件内容 */ public static String txt2
-
PHP文件操作实现代码分享
将数据写或读入文件,基本上分为三个步骤: 1. 打开一个文件(如果存在) 2. 写/读文件 3. 关闭这个文件 l打开文件 在打开文件文件之前,我们需要知道这个文件的路径,以及此文件是否存在. 用$_SERVER["DOCUMENT_ROOT"]内置全局变量,来获得站点的相对路径.如下: $root = $_SERVER["DOCUMENT_ROOT"]; 在用函数file_exists()来检测文件是否存在.如下: If(!file_exists("$r
-
ThinkPHP文件缓存类代码分享
取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧. <?php /** * @desc 文件缓存 */ class Cache{ const C_FILE = '/Runtime/'; private $dir = ''; const EXT = '.tpl'; private $filename = ''; public function __construct($dir = ''){ $this->dir = $dir; } /** * @desc 设置文件缓存
-
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"
-
Powershell批量给文件增加前辍实例
让我们假定在文件夹中你有很多脚本文件(或图片.日志等等),并且你想要将它们全部重命名.得到的新文件名应该具备如一个前缀接一个数字. 这里将告诉你怎么去实现. 例子将重命名你指定的文件夹内所有扩展名为.ps1的Powershell脚本.新的名字将成为powershellscriptX.ps1,这里的"X"是一个递增数字. 注意脚本默认还没有真正开始重命名.请特别小心要去掉它的-Whatif参数才真正的重命名文件.假设你录入的变量或输入了一个错误的目录路径,这时你的脚本会错误将数以千计的文
-
java文件重命名(文件批量重命名)实例程序代码分享
首先,查到java里文件重命名的方法为:renameTo(); 我将180张图片放在d:\\backup下,用下面的程序进行重命名: 复制代码 代码如下: public void reName(){ String dir = "D:\\backup\\"; File file = new File(dir); String fileName[] = file.list(); int number = fileName.length
随机推荐
- 简单了解Python下用于监视文件系统的pyinotify包
- Docker Dockerfile的使用实例
- CMS中PHP判断系统是否已经安装的方法示例
- 关于键盘事件中keyCode、which和charCode 的兼容性测试
- 深入探究AngularJs之$scope对象(作用域)
- MVC、MVP和MVVM分别是什么_动力节点Java学院整理
- ASP.NET调用WebService服务的方法详解
- asp最常用的分页函数
- php实现每天自动变换随机问候语的方法
- PHP新特性详解之命名空间、性状与生成器
- 纯js实现画一棵树的示例
- shift妙用之解决shell编程中的入参问题
- ajax 文件上传应用简单实现
- JavaScript获取页面中表单(form)数量的方法
- SpringMVC上传文件的三种实现方式
- PHP类(Class)入门教程第1/2页
- Python 3.8中实现functools.cached_property功能
- ERLANG和PYTHON互通实现过程详解
- 用Python抢火车票的简单小程序实现解析
- 深入理解javascript prototype的相关知识