• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

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
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
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

  • NumSeqXtrct.app.zip
    386,9 KB · Aufrufe: 69
Zuletzt bearbeitet:

-hans-

Jamba
Registriert
02.09.10
Beiträge
56
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
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
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. :eek:
Dass es dann wirklich so einfach ist, hätte ich nicht gedacht :cool: Vielen Dank für dein Beispiel!

Gruß
 

-hans-

Jamba
Registriert
02.09.10
Beiträge
56
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