Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

BakedBeans

macrumors 68040
Original poster
May 6, 2004
3,054
0
What's Your Favorite Posish
on windows you can rename a bunch of files the same thing and then it instantly numbers them like this :

dsf100303020
dsf100303021
ect ect

renamed to

als pics
als pics 1
als pics 2
als pics 3
als pics 4
ect ect

how do you do this in mac osx???



it saves me renaming a million pics

thanks in advance
 

BakedBeans

macrumors 68040
Original poster
May 6, 2004
3,054
0
What's Your Favorite Posish
kingjr3 said:
Curious how you do that in windows, as that would save me some time.

To do on the mac, I know you could write a shell script.

just highlight all the files from the bottom up, then right click on the top file and rename als pics(eg) and it will name them all als pics then the number... big up for windows on this one... why not in mac osx...its the first case

score
windows 1 mac 1293994939
 

HexMonkey

Administrator emeritus
Feb 5, 2004
2,240
504
New Zealand
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 :)
 

Doctor Q

Administrator
Staff member
Sep 19, 2002
39,816
7,585
Los Angeles
Thanks mucho, HexMonkey. I don't need that particular script, but your instructions are wonderfully detailed and helpful. You even mention how to uninstall!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.