• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick
  • November - das bedeutet oftmals Herbstblues, grauer Himmel, Tristesse und Wetter, bei dem man gern im Warmen bleibt. Aber nur oftmals! Wir fordern Euch gern auf, gegen den Herbstblues anzukämpfen und hoffen, dabei hilft Euch unser aktuelles Monatsthema. Neugierig geworden? --> Zum Mitmachen bitte hier klicken

Zahlenkolone im Dateinamen erkennen und Rest löschen

stevencologne

Erdapfel
Registriert
16.09.11
Beiträge
1
Hallo,

ich bin absoluter Anfänger in Sachen AppleScript und suche Hilfe:

Ich würde gerne per Script die Dateinamen in einem Verzeichnis dahin gehend "untersuchen", das per Script im Dateinamen eine Kolone von 7 Zahlen erkannt und automatisch der komplette Rest des Dateinamens gelöscht wird.

Weiter wäre es klasse, wenn automatisch erkannt wird, ob 7 hintereinander folgende Zahlen vorhanden sind und wenn nicht (dann sind es 6 Zahlen), automatisch eine "0" vorangestellt wird.

Hintergrund: Ich habe immer mal wieder Verzeichnisse mit über 1.400 Bilddateien drin und müsste diese zur leichteren Verarbeitung "bereinigen".

Kann mir jemand helfen?

Herzlichen Gruß

Stefan
 
Hallo!

Also für einen absoluten Anfänger in AppleScript ist das nicht ohne!
Wobei das Schwierige daran ist, wie man das überhaupt aufrollt. Der Code selber ist dann "relativ" einfach.

Angehängte Anwendung funktioniert mit Doppelklick oder als Droplet

Gruß
 

Anhänge

Zuletzt bearbeitet:
Hi,


oder mit Hilfe eines Grep-Suchbegriffes:

Code:
on open theFiles
    repeat with aFile in theFiles
        
        set {fileName, suffix} to {name, name extension} of (info for aFile)
        tell application "Finder" to set fileContainer to (container of aFile) as text
        
        try
            set grepString to "[0-9]{6,7}"
            set numString to do shell script "echo " & quoted form of fileName & " | egrep -o " & quoted form of grepString
            
            if (count of numString) is 6 then set numString to "0" & numString
            if suffix is not missing value then set numString to numString & "." & suffix
            
            do shell script "mv -f " & quoted form of POSIX path of aFile & space & quoted form of POSIX path of (fileContainer & numString)
        on error e
            display dialog e giving up after 3
        end try
        
    end repeat
end open

... als Programm sichern.

Tschöle

Hans
 
Hallo!

Ich hatte gleich an grep gedacht und wollte sogar zuerst schreiben, dass es damit auf jeden Fall einfacher als mit purem AppleScript zu lösen ist!
... Allerdings war ich mir über den entsprechenden Befehl, bzw. die korrekte Syntax nicht im klaren. :-!
Dass es dann wirklich so einfach ist, hätte ich nicht gedacht 8-) Vielen Dank für dein Beispiel!

Gruß
 
Hi,

da Indesign seit CS3 Grepsuchen und Grepstile hat gebrauche ich manchmal RegularExpressions – schöne Sache ... . Eine gute Beschreibung zu ID's GREpfunktion (großes Stückweit auch allgemeingültig) gibt es hier: http://indesign-faq.de/files/2009/10/grep-intro.pdf von Herrn Singelmann.
Zum testen von Ausdrücken gibt es z.B. auch das schöne Programm "RegExhibit" ...

Schönes Wochenende :)

Hans-Gerd Claßen