Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
weisses_papier •->

Anmeldedatum: 01.02.2002 Beiträge: 18
|
Verfasst am: 11.06.2002 - 17:19 Titel: Umlaute u.ä. in File-/Foldernamen ändern |
|
|
Hallo zusammen,
kennt jemand ein PRG oder Script, mit dem man (eine Menge vorhandener) MAC-File-/Foldernamen so anpasst, dass es keine Probleme auf Windowsebene gibt?
Sprich z.B.: aus "ü" wird "u" (um nur einen Ersatzbuchstaben zu verwenden).
Zeichen einzeln zu ersetzen funzt dank Snow Unterstützung ja bereits, aber das kann oder auch anders gehen...
Für einen Hinweis dankbar und besten Gruß
Claus |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 11.06.2002 - 17:33 Titel: Umlaute u.ä. in File-/Foldernamen ändern |
|
|
Ich habe da mal was fertig gemacht - ging mehr um Groß- und kleinbuchstaben aber ä,ö,ü,ß wurden auch berücksichtigt. Letztendlich kannst Du Deine eigenen Ersetzungstabellen anlegen und ein bißchen abändern. Muss als Droplet gespeichert werden. Funktionierte bis AppleScript 1.6, mit späteren Versionen niemals probiert - do it on your own risk Ö
--© Folker Brandt 2001
(*Version mit Sonderzeichen! Kann auch für andere Späße gebraucht werden siehe auch < http://www.alle-brandts.de/ascii_char.htm>
Weitere Möglichkeit wäre es gewesen, mathematisch ranzugehen also 'ASCII character ((ASCII number A) + 32)' -> a - aber da haben wir
mit Sonderzeichen o.ä. Probleme. Untere Lösung läßt sich auch für andere Sonderzeichen verwenden - einfach die properties the_oldChar und the_newChar anpassen
*)
property the_oldChar : {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Ä", "Ö", "Ü", "ß", "ä", "ö", "ü"} (* hier werden dann auch kleine Sonderzeichen berücksichtigt - deshalb nochmal ä,ö,ü am Ende der Liste - diese Liste ließe sich noch für weitere Sonderzeichen erweitern - allerdings müssen dann immer der Groß- und der Kleinbuchstabe als einzelnes List-Item berücksichtigt werden und in der Liste the_newChar doppelt aufgeführt sein. Auch alle weiteren Sonderzeichen lassen sich so bereinigen - aber stelle sicher, dass item x of the_oldChar immer mit item y of the_newChar korrespondiert - das die Listen gleiche Länge (Anzahl items) haben müssen versteht sich von selbst *)
property the_newChar : {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "ae", "oe", "ue", "ss", "ae", "oe", "ue"}
(* Bei zu langen Dateinamen wg. ä,ö,ü,ß Umsetzung, siehe Handler get_newName(DerString) im unteren Teil, wird der Property the_Fuellsel benötigt.
Bei zu langen Namen (> 31 characters) wird der Dateiname wird nach dem Schema "erste 10 Zeichen & the_Fuellsel & letzte 20 Zeichen" aufgebaut *)
property the_Fuellsel : "_"
property the_Zaehler : 0
on run -- Doppelklick
set the_Zaehler to 0
set the_Fold to (choose folder with prompt "Ordner auswählen:")
do_Job(the_Fold as string)
the_Meldung()
end run
on open these_items -- drag and drop
set the_Zaehler to 0
if class of these_items != list then set these_items to {these_items}
repeat with i from 1 to (count items of these_items)
if (folder of (info for item i of these_items)) then do_Job((item i of these_items) as string)
end repeat
the_Meldung()
end open
on the_Meldung() -- Dateien im Ordner umbenannt
activate
beep
display dialog ((the_Zaehler as string) & " Dateien umbenannt!") buttons {"Wunderbar"} default button 1 with icon 401
end the_Meldung
on do_Job(the_Fold) -- hier werden einzelne Ordner abgearbeitet
try
tell application "Finder"
activate
-- Dateien auflisten OHNE invisibles! (wenn auch die gewünscht, einfach vor 'without' auskommentieren (--)
set the_FolderList to list folder the_Fold without invisibles
-- Zähler für die Anzahl berücksichtigter Dateien eines Ordners
set x to 0
-- Schleife durch einen Ordner
repeat with i in the_FolderList
-- neuen Dateinamen ermitteln
tell me to set the_newName to get_newName(contents of i)
-- Datei umbenennen
set name of file ("" & the_Fold & (contents of i)) to ("" & the_Fold & the_newName)
-- Zähler um 1 heraufsetzen
set x to x + 1
end repeat
end tell
-- wenn mehrere Ordner (drag and drop) bearbeitet werden den Zähler eines Ordners merken
set the_Zaehler to (the_Zaehler + x)
on error errmsg number num
activate
beep 2
display dialog errmsg buttons {"AarghÖ"} default button 1 with icon 0
end try
end do_Job
--Dateinamen auf Kleinbuchstaben umsetzen
on get_newName(DerString)
set {oldDelims, AppleScript's text item delimiters} to {AppleScript's text item delimiters, {""}}
considering case, white space, diacriticals, hyphens, expansion and punctuation
repeat with i from 1 to (count items of the_oldChar)
if (item i of the_oldChar is in DerString) then
set AppleScript's text item delimiters to {item i of the_oldChar}
set DerString to (text items of DerString)
set AppleScript's text item delimiters to {item i of the_newChar}
set DerString to DerString as string
end if
end repeat
end considering
--Prüfung der Dateinamenlänge wg. Zeichenverdoppelung wg der Umsetzung von ä,ö,ü,ß
-- Die Prüfung kann auskommentieren werden wenn keine Zeichenverdopplung stattfindet (siehe property the_Fuellsel)
set AppleScript's text item delimiters to {""}
if (count text items of DerString) > 31 then
set DerString to (text items 1 thru 10 of DerString & the_Fuellsel & text items -1 thru -20 of DerString) as string
end if
-- bis hier kann auskommentiert werden
set AppleScript's text item delimiters to oldDelims
return DerString
end get_newName _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 11.06.2002 - 17:37 Titel: Umlaute u.ä. in File-/Foldernamen ändern |
|
|
Ja, und wie immer ] bzw. [ steht für 2 geschweifte Klammern hintereinander und != ist natürlich ungleich - ich lern's nimmer Ö
Einfach mal im Editor kompilieren lassen, findest schon den Unsinn. _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
weisses_papier •->

Anmeldedatum: 01.02.2002 Beiträge: 18
|
Verfasst am: 11.06.2002 - 18:00 Titel: Umlaute u.ä. in File-/Foldernamen ändern |
|
|
Hallo Folker,
oh Mann - das war ja Lichtgeschwindigkeit - Danke!
Auf Anhieb ist das für den kleinen User ja ein Informatikstudium, aber ich will es mal versuchen...
Danke nochmals
Claus |
|
Nach oben |
|
 |
weisses_papier •->

Anmeldedatum: 01.02.2002 Beiträge: 18
|
Verfasst am: 11.06.2002 - 18:21 Titel: Umlaute u.ä. in File-/Foldernamen ändern |
|
|
Nochmal an Folker:
war ja gar nicht so schwierig mit Deinem Hinweis ;-:
Außerdem finde ich Deine ausfürhlichen Kommentare sehr beeindruckend und lobenswert!
Leider arbeitet das Script keine Unterordner ab (sagt nur "Aargh"), aber man kann ja nicht alles erwarten.
Schönen Tach... |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 12.06.2002 - 09:43 Titel: Umlaute u.ä. in File-/Foldernamen ändern |
|
|
Das ist fast kein Problem (wurde bei dem "Mittagspausenhack damals nicht benötigt), sollte ja auch nur als Anregung dienen!
1.) Die Handler in Bezug auf den neuen Dateinamen können bleiben.
2.) Du benötigst eine "Rekursion", d.h. der Inhalt eines Ordners wird in einem repeat-loop durchlaufen und der Typ des Items geprüft. Das ginge z.B. via get info for (ohne Finder). Ausschließen kannst Du dann "Alias-Dateien". Alle Ordner werden dann rekursiv behandelt, d.h. der lfd. Handler ruft sich selbst auf!
Ein Beispiel für Rekusion findest Du hier im Forum: Suche bemühen, Suchwort Rekursion. Weitere Beispiele gibt es auch unter http://www.apple.com/applescript/help_mods.html in dem Basic-Modul.
Gruß,
Folker _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
weisses_papier •->

Anmeldedatum: 01.02.2002 Beiträge: 18
|
Verfasst am: 12.06.2002 - 18:18 Titel: Umlaute u.ä. in File-/Foldernamen ändern |
|
|
Danke vielmals, hab mir die Apple-Dateien abgeholt und werd es mal mit meinen Sextaner-Kenntnissen probieren ;-:
Grüße
Claus |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2002 phpBB Group Deutsche Übersetzung von phpBB.de
|
|
|