== Season 1: 2003 ==
{| class="wikitable" style="width:98%;"
|-
! width="20"| # !! width="250"|Title !! Patient Portrayer(s) !! Surgery Music !! width="120" | Original airdate !! width="80" | Production code
{{Episode list
|LineColor=AA0004
|Title=Pilot
|OriginalAirDate=July 22, 2003
|Aux1=[[Geoffrey Rivas]]
|Aux2=[[Paint It Black]]—[[The Rolling Stones]]
|ProdCode=101
|EpisodeNumber=1
|ShortSummary=[[Christian Troy|Christian]]'s unethical acceptance of $300,000 from a mobster desperate for a new face put his partnership with [[Sean McNamara|Sean]] in jeopardy and their lives in peril.
|LineColor=AA0004
}}
This happens to be the listing for the first episode of the first season of Nip/Tuck. Anyway, all you need to do to rename all your episodes from a format like "Show Name s(Season Number)e(Episode Number).avi" to "Season (Number) Episode (Number) - Episode Title.avi" is run this script. First you need to look up the Wikipedia episode listing, then click the "Edit" button at the top of the table. Then save all the text in the editor to a file called "episodes.txt" in the same directory as the video files.
#!/usr/bin/ruby
title = ''
ep = ''
eps = Hash.new
File.open("episodes.txt").each do |l|
if l.match(/Title=/)
title = l.slice(l.index('=')+1, l.length).chop
end
if l.match(/ProdCode/)
ep = l.slice(l.index('=')+1, l.length).chop
eps[ep] = title
end
end
Dir.open('.').each do |f|
next unless f.match(/\.avi$/)
if f.match(/s(\d+)e(\d+)/i)
key = $1.to_i.to_s + $2
newf = "Season 5 Episode #{$2} - #{eps[key]}.avi"
File.rename(f, newf)
else
puts "No match: #{f}"
end
end
title = ''
ep = ''
eps = Hash.new
File.open("episodes.txt").each do |l|
if l.match(/Title=/)
title = l.slice(l.index('=')+1, l.length).chop
end
if l.match(/ProdCode/)
ep = l.slice(l.index('=')+1, l.length).chop
eps[ep] = title
end
end
Dir.open('.').each do |f|
next unless f.match(/\.avi$/)
if f.match(/s(\d+)e(\d+)/i)
key = $1.to_i.to_s + $2
newf = "Season 5 Episode #{$2} - #{eps[key]}.avi"
File.rename(f, newf)
else
puts "No match: #{f}"
end
end
Yes, it's short, but I've found myself rewriting it countless times in several languages. It is highly useful.