I wrote a script in AppleScript that will do it (although quite slowly), based loosely on some Apple sample code. It's not very advanced and could use a lot of improvements, but you can set it up as follows if you don't like the other solutions. Be warned that the order it renames them in isn't always in alphabetical order, although I think it usually is if you're in list or column view (I'm not sure on the specifics, the script just gets the information from Finder), so if order is important, the script may not be very useful.
Firstly, copy and paste the following code into Script Editor (located at /Applications/AppleScript/Script Editor)
Code:
property nameString : ""
property extension : ""
tell application "Finder" to set theFiles to selection
if number of items in theFiles is greater than 0 then
display dialog "Please enter the new name for the files:" default answer nameString
set nameString to text returned of the result
display dialog "Enter a file extension, or leave blank for none:" default answer extension
set extension to text returned of the result
if the nameString is not "" then
repeat with i from 1 to number of items in theFiles
set thisItem to item i of theFiles as alias
set thisInfo to info for thisItem
set currentName to name of thisInfo
if extension is "" then
set extensionString to ""
else
set extensionString to "." & extension
end if
if i is 1 then
set newName to nameString & extensionString
else
set newName to nameString & " " & (i as string) & extensionString
end if
my setItemName(thisItem, newName)
end repeat
end if
else
display dialog "No items are selected" buttons "OK" default button 1
end if
on setItemName(thisItem, newName)
tell application "Finder"
set parentFolder to (container of thisItem) as text
if not (exists item (parentFolder & newName)) then
try
set name of thisItem to newName
on error errorMessage number errorNumber
tell me to display dialog ("An error occured when renaming to" & newName & ". The file will not be renamed.") buttons "OK" default button 1
return 0
end try
else --the name already exists
tell me to display dialog ("A file named" & newName & " already exists. The file will not be renamed.") buttons "OK" default button 1
return 0
end if
end tell
end setItemName
At this stage, you need to decide whether to have the script activated from the Script menu or from the Dock. If from the Dock, follow these steps:
1. Save the script as an application, with none of the options checked
2. Drag the application to the Dock
3. Select the files you want renamed and click on the application's icon in the Dock
4. Enter the new name and extension of the files and watch them be renamed
If you're wondering why it's necessary to put it in the Dock, it's because if you opened it from Finder, it would take the focus away from the selected files and rename the application instead.
If you want to run the script from the Script menu, follow these steps:
1. Save the script as a script, again with none of the options checked. Save it somewhere in ~/Library/Scripts so that you can run it from the Script menu.
2. Now you need to make sure that the Script menu is available. If it's not (most likely), just open /Applications/AppleScript/Install Script Menu (open Remove Script Menu later if you like, or command-drag the menu of the menubar to remove it)
3. Select the files in Finder, and run the script from the Script menu
4. Enter the new name and extension
Hope it helps