设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2170|回复: 2
打印 上一主题 下一主题

[RMXP发布] 改变所有游戏资源的后缀名

[复制链接]

Lv1.梦旅人

梦石
0
星屑
180
在线时间
509 小时
注册时间
2010-10-1
帖子
97
跳转到指定楼层
1
发表于 2015-2-6 13:48:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
突然翻到以前的一个东西,不过不知道这货有什么用呢 嗯 不过我知道要是删掉了所有图片的后缀、解包的人肯定很方便的啦(这是什么作用、)
先发上来分享一下吧
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Change_Name
  3. #------------------------------------------------------------------------------
  4. #   功能:改变所有游戏资源的后缀名(别问我有什么用)
  5. #   作者:永远的塞尔达传说
  6. #   使用:游戏做好后将本脚本插入到Main之前运行游戏即可(记得用完删除脚本)
  7. #==============================================================================
  8. #            ▶注意:请做好资源备份再运行此脚本,否则后果自负!◀
  9.  
  10. module Change_ExtName
  11.   #--------------------------------------------------------------------------
  12.   # ● 开始
  13.   #--------------------------------------------------------------------------
  14.   def self.start
  15.     @old_dir = Dir.pwd
  16.     @resource_type = [".bmp",".jpg",".png",".wav",".mp3",".ogg",".wma",".mid"]
  17.     @filenames = []
  18.     @path = ""
  19.     self.get_filelist(@path)
  20.     self.change(@filenames)
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取文件列表
  24.   #--------------------------------------------------------------------------
  25.   def self.get_filelist(path)
  26.     Dir.chdir(@old_dir)
  27.     Dir.chdir(path) if path != ""
  28.     for f in Dir["*"]
  29.       if FileTest.directory?(f)
  30.         @path = @path + f + "/"
  31.         self.get_filelist(@path)
  32.       else
  33.         if @resource_type.include? File.extname(f).downcase
  34.           @filenames.push @path + f
  35.         end
  36.       end
  37.     end
  38.     @path = (File.dirname(path) == "." ? "" : File.dirname(path) + "/")
  39.     Dir.chdir(@old_dir)
  40.     Dir.chdir(@path) if @path != ""
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 对每个文件进行修改
  44.   #--------------------------------------------------------------------------
  45.   def self.change(filenames)
  46.     begin
  47.      for name in filenames
  48.        begin
  49.          File.rename(name, File.dirname(name) + "/" + File.basename(name,".*") + ".dat")
  50.        rescue
  51.          print "ERROR:文件\"#{name}\"修改失败!自动跳过该文件。"
  52.        end
  53.      end
  54.     ensure
  55.       print "成功完成。"
  56.       exit
  57.     end
  58.   end
  59. end
  60. #Change_ExtName.start            # 请小心解封= =b

等下、注意:路径文件中请勿出现中文!很郁闷FileTest竟然不支持中文、、

点评

吾只是经常用RM来批量改文件名。  发表于 2015-2-7 01:44

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
发表于 2015-2-6 20:50:11 | 只看该作者
把后辍名全部改成rxdata、rvdata之类的然后全部放到一个文件夹混淆视听如何···(闲的蛋疼)

点评

混淆视听的方法多着呢==  发表于 2015-2-16 23:44
还不如把文件全部名字后戳颠倒。。。  发表于 2015-2-7 01:57
还不如把 rxdata 等后缀改成 *&%¥,,等火星文,RM照样读取。  发表于 2015-2-7 01:43
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-2-6 13:56:05 | 只看该作者
本帖最后由 taroxd 于 2015-2-6 15:11 编辑

RUBY 代码复制
  1. Dir.glob('**/*.{bmp,jpg,png,wav,mp3,ogg,wma,mid}') do |f|
  2.   File.rename(f, f.chomp(File.extname(f)))
  3. end


把 3 行代码写成 60 行是闹哪样啊!!!

点评

出错了是什么情况···  发表于 2015-2-6 20:48
我没事不喜欢 rescue。错误要报出来才容易发现问题  发表于 2015-2-6 15:10
等一下、表用 硬生生 这个形容词嘛、在下又不是故意的= =  发表于 2015-2-6 14:59
啊啊、 我已经解释了是以前写的了啊 还有你忘了rescue nil  发表于 2015-2-6 14:57
本地测试无问题。请自行 rescue(另外我也不知道去掉后缀名有啥用)  发表于 2015-2-6 14:28
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 14:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表