T
The Dust Sailor
Mitglied
Thread Starter
- Dabei seit
- 23.09.2008
- Beiträge
- 74
- Reaktionspunkte
- 5
Hallo, ich brauche Hilfe bei einem Applescript, mit dem ich einen beliebigen Begriff an einen Dateinamen anfügen kann.
Grund: Ich versehe meine Mediendateien und manchmal auch Textdokumente mit verschiedenen Tags (Beispiel: #Original). Dazu möchte ich Skripte in der Titelleiste des Finders ablegen, durch deren Anklicken die zuvor markierten Dateien schnell und unkompliziert getagt werden.
Automatoraktionen und Programme wie A Better Finder Rename kommen dafür nicht in Frage. Das schon mal im Voraus, weil mir bestimmt dazu geraten wird.
Da ich mich nur mäßig mit Applescript auskenne (benötige es einfach zu selten), passe ich gerne vorhandene Skripte an meine Bedürfnisse an. Leider habe ich kein Skript gefunden, was diese scheinbar recht einfache Funktion so ähnlich ausführt. Es wird wohl in diesem Fall meistens auf den Automator zurück gegriffen.
Das Skript, was meinen Wünschen am nächsten kommt (von Apple), fragt allerdings auch den Begriff ab und bietet eine Auswahl, ob der Bergriff vor oder nach dem Dateinamen eingetragen werden soll. Das brauche ich alles nicht. Mein Skript sollte gleich durch anklicken den richtigen Begriff an die Datei anfügen.
Ich habe jetzt drei Stunden lang das Skript bearbeitet, aber ich erhalte immer nur Fehlermeldungen :-( Es wäre total klasse, wenn mir einer von euch auf die Sprünge helfen könnte, was ich da alles sinnvoll rauslöschen kann und wo ich meinen anzufügenden Begriff eintragen kann. Ich bin mit dem Skript absolut überfordert.
Skript
Grund: Ich versehe meine Mediendateien und manchmal auch Textdokumente mit verschiedenen Tags (Beispiel: #Original). Dazu möchte ich Skripte in der Titelleiste des Finders ablegen, durch deren Anklicken die zuvor markierten Dateien schnell und unkompliziert getagt werden.
Automatoraktionen und Programme wie A Better Finder Rename kommen dafür nicht in Frage. Das schon mal im Voraus, weil mir bestimmt dazu geraten wird.
Da ich mich nur mäßig mit Applescript auskenne (benötige es einfach zu selten), passe ich gerne vorhandene Skripte an meine Bedürfnisse an. Leider habe ich kein Skript gefunden, was diese scheinbar recht einfache Funktion so ähnlich ausführt. Es wird wohl in diesem Fall meistens auf den Automator zurück gegriffen.
Das Skript, was meinen Wünschen am nächsten kommt (von Apple), fragt allerdings auch den Begriff ab und bietet eine Auswahl, ob der Bergriff vor oder nach dem Dateinamen eingetragen werden soll. Das brauche ich alles nicht. Mein Skript sollte gleich durch anklicken den richtigen Begriff an die Datei anfügen.
Ich habe jetzt drei Stunden lang das Skript bearbeitet, aber ich erhalte immer nur Fehlermeldungen :-( Es wäre total klasse, wenn mir einer von euch auf die Sprünge helfen könnte, was ich da alles sinnvoll rauslöschen kann und wo ich meinen anzufügenden Begriff eintragen kann. Ich bin mit dem Skript absolut überfordert.
Skript
Code:
-- The following line is disabled due to a Menu Manager bug
--set the source_folder to (choose folder with prompt "Pick the folder containing the files 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}
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 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
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