Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Umlaute u.ä. in File-/Foldernamen ändern

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
weisses_papier
•->
•->


Anmeldedatum: 01.02.2002
Beiträge: 18

BeitragVerfasst am: 11.06.2002 - 17:19    Titel: Umlaute u.ä. in File-/Foldernamen ändern Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 11.06.2002 - 17:33    Titel: Umlaute u.ä. in File-/Foldernamen ändern Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 11.06.2002 - 17:37    Titel: Umlaute u.ä. in File-/Foldernamen ändern Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
weisses_papier
•->
•->


Anmeldedatum: 01.02.2002
Beiträge: 18

BeitragVerfasst am: 11.06.2002 - 18:00    Titel: Umlaute u.ä. in File-/Foldernamen ändern Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
weisses_papier
•->
•->


Anmeldedatum: 01.02.2002
Beiträge: 18

BeitragVerfasst am: 11.06.2002 - 18:21    Titel: Umlaute u.ä. in File-/Foldernamen ändern Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 12.06.2002 - 09:43    Titel: Umlaute u.ä. in File-/Foldernamen ändern Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
weisses_papier
•->
•->


Anmeldedatum: 01.02.2002
Beiträge: 18

BeitragVerfasst am: 12.06.2002 - 18:18    Titel: Umlaute u.ä. in File-/Foldernamen ändern Antworten mit Zitat

Danke vielmals, hab mir die Apple-Dateien abgeholt und werd es mal mit meinen Sextaner-Kenntnissen probieren ;-:
Grüße
Claus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
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


AppleScript für absolute Starter