The wrong intructions were the same than those available in your other script so the correction is the same.
Look at the three ones commented as # AWFUL INSTRUCTION
(* Add Prefix-Suffix to Fldr Names
Copyright © 2001 Apple Computer, Inc.
You may incorporate this Apple sample code into your program(s) without restriction. This Apple sample code has been provided "AS IS" and the responsibility for its operation is yours. You are not permitted to redistribute this Apple sample code as "Apple sample code" after having made changes. If you're going to redistribute the code, we require that you make it clear that the code was descended from Apple sample code, but that you've made changes.
2014/02/23 Yvan KOENIG reenabled the choose folder instruction and replaced the awful instructions coercing record to string by clean ones. *)
set the source_folder to (choose folder with prompt "Pick the folder containing the folders to rename:") (* try tell application "Finder" to set the source_folder to (folder of the front window) as alias on error -- no open folder windows set the source_folder to path to desktop folder as alias end try *) set the prefix_or_suffix to "" repeat display dialog "Enter the prefix or suffix to use:" default answer the prefix_or_suffix buttons {"Cancel", "Prefix", "Suffix"} # copy the result as list to {the prefix_or_suffix, the button_pressed} # AWFULL INSTRUCTION set {text returned:prefix_or_suffix, button returned:button_pressed} to result # Thanks to Nigel GARVEY if the button_pressed is "Cancel" then error number -128 if the prefix_or_suffix is not "" then exit repeat end repeat 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 if folder of this_info is true then if the button_pressed is "Prefix" then set the new_file_name to the (the prefix_or_suffix & the current_name) as string else set the new_file_name to the (the current_name & the prefix_or_suffix) as string end if my set_item_name(this_item, the new_file_name) 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} # AWFUL INSTRUCTION set {text returned:new_item_name, button returned:button_pressed} to result # Thanks to Nigel GARVEY # was wrongly disabled if the button_pressed is "Cancel" then error number -128 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} # AWFUL INSTRUCTION set {text returned:new_item_name, button returned:button_pressed} to result # Thanks to Nigel GARVEY # was wrongly disabled if the button_pressed is "Cancel" then error number -128 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
Yvan KOENIG (VALLAURIS, France) lundi 3 mars 2014 09:43:46
|