Skip to content

Instantly share code, notes, and snippets.

@robin
Created July 29, 2010 15:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robin/498412 to your computer and use it in GitHub Desktop.
Save robin/498412 to your computer and use it in GitHub Desktop.
require 'fileutils'
# [chinesename].englishname.garbage.ext => abc - [chinesename].ext
def rename1(path)
files = Dir["#{path}/*"].each {|file|
filename = file.split('/')[-1]
next if filename !~ /^\[/
if filename =~ /(\[.+\]\.?)(.*)(\.[a-z]+)/
chinesename = $1
ext = $3
remain = $2
chinesename.gsub!(".",'')
remain.gsub!(/-.+-/,'')
remain.gsub!(/.(DVD|YYeTs|owenshen|\d\d\d\d|jhlw).*$/,'')
remain.gsub!('.', ' ')
newfilename = remain + ' - ' + chinesename + ext
newfilepath = File.join(path, newfilename)
FileUtils.mv file, newfilepath
end
}
end
def rename2(path)
Dir["#{path}/*.rmvb"].each {|file|
if file =~ /(.+)(\.(19|20)\d\d\.*)/
name = $1 + ".rmvb"
FileUtils.mv file, name
end
}
end
def rename3(path)
Dir["#{path}/*.rmvb"].each {|file|
filename = file.split('/')[-1]
next if (filename =~ /^[a-zA-Z0-9]/ || filename !~ /\.[^r]/)
segs = filename.split('.')
chinesename = segs.shift
ext = segs.pop
newfilename = segs.join(' ') + ' - ' + chinesename + ".#{ext}"
newfilepath = File.join(path, newfilename)
FileUtils.mv file, newfilepath
}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment