• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Rename files excluding xml extension in a folder
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Rename files excluding xml extension in a folder


  • Subject: Rename files excluding xml extension in a folder
  • From: "Peter Pq" <email@hidden>
  • Date: Wed, 16 May 2007 15:03:30 -0400

I am new to applescripting and hoping some one could help me on one
issue with the below script.

I wish to be able to rename all files in a folder chosen by the user
but not allow the extensions to be changed.

The folder will contain files comprised of two different extensions.

However, I wish to exclude the script from renaming files with the
.xml extension.

Is it possible to rename all files in a chosen folder except those
with the xml extension?

Please help

Thank you so much

Peter


Script:

display dialog "Welcome to file rename application." buttons
{"Cancel", "Run"} default button 2
set the source_folder to choose folder with prompt "Navigate to folder:"


display dialog "For File Names click button below:" buttons {"File Names"} default button 1 set the search_parameter to the button returned of the result

repeat
	display dialog "Enter text to find in the current file names."
default answer "" buttons {"Cancel", "OK"} default button 2
	set the search_string to the text returned of the result
	if the search_string is not "" then exit repeat
end repeat

repeat
	display dialog "Enter replacement text:" default answer "" buttons
{"Cancel", "OK"} default button 2
	set the replacement_string to the text returned of the result
	if the replacement_string contains ":" then
		beep
		display dialog "A file or folder name cannot contain a colon (:)."
buttons {"Cancel", "OK"} default button 2 with title "XDCAM Renamer"
	else if the replacement_string contains "/" then
		beep
		display dialog "A file or folder name cannot contain a forward slash
(/)." buttons {"Cancel", "OK"} default button 2 with title "XDCAM
Renamer"
	else
		exit repeat
	end if
end repeat

display dialog "Replace "" & the search_string & "" with "" & the
replacement_string & "" in every item name?" buttons {"Cancel", "OK"}
default button 2

set the item_list to list folder source_folder without invisibles
set source_folder to source_folder as string
repeat with i from 1 to number of items in the item_list
	set this_item to item i of the item_list
	set this_item to (source_folder & this_item) as alias
	set this_info to info for this_item
	set the current_name to the name of this_info
	set change_flag to false
	if the current_name contains the search_string then
		if the search_parameter is "Folder Names" and ¬
			folder of this_info is true then
			set the change_flag to true
		else if the search_parameter is "File Names" and ¬
			folder of this_info is false then
			set the change_flag to true
		else if the search_parameter is "Both" then
			set the change_flag to true
		end if
		if the change_flag is true then
			-- replace target string using delimiters
			set AppleScript's text item delimiters to the search_string
			set the text_item_list to every text item of the current_name
			set AppleScript's text item delimiters to the replacement_string
			set the new_item_name to the text_item_list as string
			set AppleScript's text item delimiters to ""
			my set_item_name(this_item, new_item_name)
		end if
	end if
end repeat

beep 2

on set_item_name(this_item, new_item_name)
	tell application "Finder"
		--activate
		set the parent_container_path to (the container of this_item) as text
		if not (exists item (the parent_container_path & new_item_name)) then
			try
				set the name of this_item to new_item_name
			on error the error_message number the error_number
				if the error_number is -59 then
					set the error_message to "This name contains improper characters,
such as a colon (:)."
				else --the suggested name is too long
					set the error_message to error_message -- "The name is more than
31 characters long."
				end if
				--beep
				tell me to display dialog the error_message default answer
new_item_name buttons {"Cancel", "Skip", "OK"} default button 3
				copy the result as list to {new_item_name, button_pressed}
				if the button_pressed is "Skip" then return 0
				my set_item_name(this_item, new_item_name)
			end try
		else --the name already exists
			--beep
			tell me to display dialog "This name is already taken, please
rename." default answer new_item_name buttons {"Cancel", "Skip", "OK"}
default button 3
			copy the result as list to {new_item_name, button_pressed}
			if the button_pressed is "Skip" then return 0
			my set_item_name(this_item, new_item_name)
		end if
	end tell
end set_item_name
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users

This email sent to email@hidden
  • Follow-Ups:
    • Re: Rename files excluding xml extension in a folder
      • From: Philip Aker <email@hidden>
  • Prev by Date: Re: Filemaker 8.5 stored applescript problem
  • Next by Date: Re: Appending text?
  • Previous by thread: RE: appending text
  • Next by thread: Re: Rename files excluding xml extension in a folder
  • Index(es):
    • Date
    • Thread