(* This script requires a folder called "boks" on the desktop Put any .txt file in "boks" and copy this script into "boks" saved as droplet. Drag all text files to droplet and they will be converted to pdb for palm! *) on open draggeditems --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} --if the prefix_or_suffix is not "" then exit repeat --end repeat set the item_list to draggeditems -- 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_info to info for this_item set namewant to the name of this_info set newName to namewant as string -- display dialog "/usr/local/bin/txt2pdbdoc -d /Users/tangawk/Desktop/pending_junk/boks/" & unix_path(newName) &  " /Users/tangawk/Desktop/pending_junk/boks" & unix_path(newName) & ".txt" -- display dialog unix_path(newName) & ".txt" --convert to pdb do shell script "/usr/local/bin/txt2pdbdoc -d /Users/tangawk/Desktop/pending_junk/boks/" & unix_path(newName) &  " /Users/tangawk/Desktop/pending_junk/boks" & unix_path(newName) & ".txt" -- display dialog "delete text file?" --delete text file do shell script "rm /Users/tangawk/Desktop/pending_junk/boks/" & unix_path(newName) --if folder of this_info is false and  --alias of this_info is false 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 (* Replace Text In Item 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. *) --set the source_folder to choose folder with prompt "Folder containing items to edit:" -- get the path to the folder of the front window -- if no windows are open, the desktop folder will be used 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 search_parameter to "File Names" set the search_string to "pdb.txt" set the replacement_string to "txt" --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_item2 to item i of the item_list set this_item2 to (source_folder & this_item2) as alias set this_info to info for this_item2 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_item2, new_item_name) end if end if end repeat end open beep 2 on unix_path(mac_path) set unixpath to (POSIX path of mac_path) set chars to every character of unixpath repeat with i from 1 to length of chars if " !$&\"'*(){[|;<>?~` \\" contains  (item i of chars as text) then set item i of chars to "\\" & (item i of chars as text) end if end repeat return every item of chars as string end unix_path 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