module Change_ExtName
#--------------------------------------------------------------------------
# ● 开始
#--------------------------------------------------------------------------
def self.start
@old_dir = Dir.pwd
@resource_type = [".bmp",".jpg",".png",".wav",".mp3",".ogg",".wma",".mid"]
@filenames = []
@path = ""
self.get_filelist(@path)
self.change(@filenames)
end
#--------------------------------------------------------------------------
# ● 获取文件列表
#--------------------------------------------------------------------------
def self.get_filelist(path)
Dir.chdir(@old_dir)
Dir.chdir(path) if path != ""
for f in Dir["*"]
if FileTest.directory?(f)
@path = @path + f + "/"
self.get_filelist(@path)
else
if @resource_type.include? File.extname(f).downcase
@filenames.push @path + f
end
end
end
@path = (File.dirname(path) == "." ? "" : File.dirname(path) + "/")
Dir.chdir(@old_dir)
Dir.chdir(@path) if @path != ""
end
#--------------------------------------------------------------------------
# ● 对每个文件进行修改
#--------------------------------------------------------------------------
def self.change(filenames)
begin
for name in filenames
begin
File.rename(name, File.dirname(name) + "/" + File.basename(name,".*") + ".dat")
rescue
print "ERROR:文件\"#{name}\"修改失败!自动跳过该文件。"
end
end
ensure
print "成功完成。"
exit
end
end
end
#Change_ExtName.start # 请小心解封= =b[/pre]
等下、注意:路径文件中请勿出现中文!很郁闷FileTest竟然不支持中文、、