Umlaute und Sonderzeichen in Datei- und Ordnernamen ersetzen

2/08/2011
Das war der Auslöser und es hier meine Lösung dazu:

-- hubionmac.com 02.08.2011

-- ersetzt in einem Verzeichnis und allen Unterordnern Sonderzeichen (Umlaute) in Datei und Ordnernamen

-- es können so nur einzelne Sonderzeichen gegen Zeichenketten ersetzt werden ä ->ae

set replacements_list to {{"Ä", "Ae"}, {"ä", "ae"}, {"Ö", "Oe"}, {"ö", "oe"}, {"Ü", "ue"}, {"ü", "ue"}, {"/", "_"}}


set thefolder to choose folder

set thefiles_x to do shell script "find " & quoted form of (POSIX path of thefolder) & " -not -name \".*\""

-- Baut sich eine Liste aus Aliasen, damit die Pfadangaben auch noch funktionieren,

--wenn mal ein übergeordnetes Verzeichnis bereits vom Skript umbenannt wurde

set thefiles to {}

repeat with thefile in every paragraph of thefiles_x

set thefiles to thefiles & ((POSIX file thefile) as alias)

end repeat


repeat with thefile in thefiles

tell application "Finder"

set thefilename to name of thefile

set old_filename to thefilename

end tell

repeat with replacement in replacements_list

set badchar to ASCII number of ((item 1 of replacement) as text)

set thefilename_ascii to asciilist(thefilename)

if badchar is in thefilename_ascii then

set thefilename to my replace_string(thefilename, ASCII character badchar, (item 2 of replacement) as text)

end if

end repeat

if old_filenamethefilename then

tell application "Finder"

set name of thefile to thefilename

end tell

end if

end repeat


on replace_string(itemname, searchstring, replacestring)

set old_delimiter to AppleScript's text item delimiters

set AppleScript's text item delimiters to searchstring

set the item_list to every text item of itemname

set AppleScript's text item delimiters to replacestring

set this_text to the item_list as string

set AppleScript's text item delimiters to old_delimiter

return this_text

end replace_string


on asciilist(thestring)

set myoutput to {}

repeat with a in every character of thestring

set myoutput to myoutput & (ASCII number of a)

end repeat

return myoutput

end asciilist

1 Comment

Hubi’s Address Book Scripts

24/04/2010

Ich wurde von einem Leser dieses Blogs gebeten einige Skripte zu schreiben, da er sich seine Adressbuch-Datenbank mit vielen doppelten und Falschen Einträgen etwas zerschossen hatte. Dabei sind einige allgemeine Skripte entstanden, die ähnlich der iTunes Scripte einem Helfen das zu Skripten, was dass Apple Adressbuch nicht von selber tut. Dabei handelt es sich um ein Sammlung in der sich erstmal eine Skript-Bibliothek für häufig benutzt Funktionen angelegt habe.
Die Installation übernimmt ein kleines Script, welches auch gleich das AppleScript-Menü aktiviert, sofern noch nicht geschehen. Ich habe in die Library einen kleiner Version-Check eingebaut. Der (wenn nicht in den letzten 24h bereits geschehen) hier nachsieht, ob es eine neuere Version gibt. Bei dem Ding handelt es sich noch um die erste Version, also bitte Nachsicht und Fehler/Verbesserungen bitte gleich in Comments =)

Ich denke die Bezeichnungen der Skripte beschreiben deren jeweilige Funktionsweise wohl ausreichend =)

Update 16.01.2011

Ich habe die Bezeichnung der Skripte etwas verändert, hier und da etwas korrigiert, den Installer verbessert und eine Skript hinzugefügt, welches Duplikate in einer Gruppe sammelt.

Nur um das noch einmal klarzustellen:
Macht einen Backup eurer Adressen, die Nutzung der Skripte geschieht auf eigene Gefahr!!!

Die Skripte mit Installer also hier:

16 Comments

Hubi’s iTunes Scripts

13/12/2009
Das war eigentlich das erste Stück Software, das ich selber wirklich entwickelt habe. Ist auch heute noch ein treuer Helfer. Wenn Du also Deine iTunes Stücke sortieren möchtest, ID-Tags bereinigen oder neu organisieren möchtest. Dann können diese Scripte viel Zeit sparen =)
DOWNLOAD
Hubi's iTunes Skripts v.1.9
(3500 hits)
9 Comments

Text im Dateinamen ersetzen

11/03/2009
A-Better-Finder-Renamer und andere Tools machen das u.a. auch. Diese Skript ist aber recht klein und tut als Droplet bzw. als Skript im Skript-Menü genau das, was man immer mal wieder kurz machen möchte.... einfach ein bischen Search&Replace in Dateinamen:
Code zum markieren einmal anklicken

on open these_items

tell application "Finder"

display dialog "Replace:" default answer ""

set searchstring to text returned of the result

display dialog "with:" default answer ""

set replacestring to text returned of the result

repeat with this_item in these_items

set itemname to name of this_item

set AppleScript's text item delimiters to searchstring

set the item_list to every text item of itemname

set AppleScript's text item delimiters to replacestring

set this_text to the item_list as string

set AppleScript's text item delimiters to ""

set name of this_item to this_text as text

end repeat

end tell

end open

on run

tell application "Finder"

set these_items to selection

display dialog "Replace:" default answer ""

set searchstring to text returned of the result

display dialog "with:" default answer ""

set replacestring to text returned of the result

set these_items to selection

repeat with this_item in these_items

set itemname to name of this_item

set AppleScript's text item delimiters to searchstring

set the item_list to every text item of itemname

set AppleScript's text item delimiters to replacestring

set this_text to the item_list as string

set AppleScript's text item delimiters to ""

set name of this_item to this_text as text

end repeat

end tell

end run

No Comments