Rename Multiple Files

Hey guys, I am the definition of a newbie. I am in the process of trying to rip all my dvds onto a new HTPC I setup. While doing this, I am also trying to organize a bunch of other files I already have to proper naming conventions. So far I have just been naming each file separately (I am on a Windows 7 machine). Somebody told me you can rename multiple files easily using cygwin (which I have installed) and shell scripting. However, I have NO CLUE how to do this. The files are named as so:

[WBDS]Show_Title_-_001_-_Episode_Name_[DR][x264][F26CC67E]
[AJGD]Show_Title_-_002_-_Episode_Name_[DR][x264][CBD6A73C]
and so on...

My goal is to end up with:
s01e01 - Episode Name
s01e02 - Episode Name
etc...

From lots of googling I know I need to follow:
rename oldname newname *.files
However, I have no clue how to set this up properly. Thanks for any help!

One point - consider NOT having spaces in file names. When using cmd.exe or cygwin they can cause problems later on.

This is how it works for what you describe. I put a # in front of the command that renames files. That line is red. Leave it there until you have run through the script, seen the proposed outcomes. Then remove it. In shell # marks the start of a comment - the shell interpreter ignores the stuff after it.

c:/Users/Ralze34/media/mydirectory is a name I made up. Use the correct one. cygwin uses / instead of \ in file names.

this will not work if your files have spaces in the file names

cd c:/Users/Ralze34/media/mydirectory  # go to where the files are
count=1                                              # start counting at 1
for filename in *                                  # check every file in the directory
do
if  [ -f $filename ] ; then                       # if it a regular file - not a directory
    episode=$(echo "$filename" | awk -F '_'   '{print $6,"_",$7}' )
    newfilename=$(printf "s01e01_%s"  "$episode") # build new file name
    echo "rename $filename to $newfilename"    # show what we did
    # mv $filename $newfilename                  
fi
done

Wow, ok none of that makes sense to me (technically speaking). Thanks for the help though. So I copied what you have and see this printed out:

rename [WBDS]Show_Title_-_039_-_Episode_Name_[DR][x264][D9373446].mkv to s01e01_[WBDS]Show_Title_-_039_-_Episode_Name_[DR][x264][D9373446].mkv awk -F _ {print $6,"_",$7}

So now I am guessing I need to tweak to handle the correct replacements (again something I am clueless on). It seems I need to replace the s01e01 to like s01e + $count since we set count to 1 at start. Then something to strip out everything except the episode name.

Oh, [expletive deleted]. I did not test my code. My bad.

See my original post. Find the line with awk in it. See the red pipe: |
Add that and your code should be okay.

Caveat. Again - you seem to have a windows-centric file naming world view. Which is fine on Windows. For cygwin: Spaces in file names require other approaches than the one I posted.

I've only ever worked on Windows machines. I'm definitely willing to expand my horizons though! Looks like that made a big difference (would you mind explaining what each thing is doing a bit more in detail, just trying to learn). Here is the output now:

rename [WBDS]Show_Title_-_038_-_Episode_Name_[DR][x264][055F2967].mkv to s01e01_Episode_ Name