Forenindex » Programmierung/Entwicklung » AppleScript » Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

JWeitzel
Beiträge gesamt: 277

4. Mär 2021, 07:23
Bewertung:

gelesen: 3792

Beitrag als Lesezeichen
Hallo Forenmitglieder,

regelmäßig muss ich größere Mengen von Grafik-Dateien an einen "hotfolder" in unserem Betrieb/Produktionsdatenbank übergeben, wozu die Dateien natürlich höchst exakt benannt sein müssen. Nämlich beginnend mit einem Teil einer eindeutigen EAN-Zahlenreihenfolge.

Der Dateiname beginnt auch exakt mit den gewünschten Zahlen, jedoch danach kommt im Anlieferungszustand "Freitext"für die Menschen.

Frage: Lässt sich mit Mac-Automator oder einfacheren Mitteln mit Apple Script eine "Dateinamen-Manipulationsroutine" erstellen, die einfach nur die ersten 7 Schreibtellen des Dateinamens übrig lässt, und alles was danach folgt tilgt?
Beispiel:
"835567_Schraubenfassung, edelstahl.jpg" => "835567_.jpg"

Vielleicht diese Lösung auch als hotfolder?

Danke für konstruktive Hilfe!

(Da gab es mal "a better Finder rename" oder ähnlich)

Johannes

Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

Hans Haesler
  
Beiträge gesamt: 5805

4. Mär 2021, 07:53
Bewertung:

gelesen: 3781

Beitrag als Lesezeichen
Hallo Johannes,

diese Aufgabe kann mit einem Droplet gelöst werden.

Aber ich bin im Urlaub in den Bergen, kann mich deshalb nicht sofort dahintersetzen. Doch vielleicht wird ein versierter Mitleser einspringen.

Gruss, Hans

Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

wowi62
Beiträge gesamt: 108

4. Mär 2021, 12:57
Bewertung:

gelesen: 3726

Beitrag als Lesezeichen
Hallo Johannes,

mit „A better finder rename 9“ funktioniert es bei mir problemlos. Auch als Droplet.

Category > Truncation
Action > Truncate

Truncate to: 7 characters

Gruß
Wolfgang

https://my.hidrive.com/lnk/WTilldja

Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

Thomas Richard
Beiträge gesamt: 18704

4. Mär 2021, 18:57
Bewertung:

gelesen: 3653

Beitrag als Lesezeichen
Hier ist für das meiste der Namemangler im Einsatz. Der beherrscht auch die Erstellung eigenständiger Droplets und Kontextmenüeinträge.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/

Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

TMA
Beiträge gesamt: 372

5. Mär 2021, 07:03
Bewertung:

gelesen: 3573

Beitrag als Lesezeichen
Ich habe mal eben schnell was gebaut, das kannst du dann als Application speichern.
Es ist ein Droplet wo du Dateien oder Ordner draufziehen kannst.

Fehler werden bisher nicht abgefangen, ich gehe davon aus das die Dateinamen immer 7 Zeichen + Suffix enthalten. Ansonsten kannst du das Script ja anpassen.

Code
------------------------------------------------------------------------------------------------------------------------------------- 
on Initialize()
set my text item delimiters to ""
end Initialize

on Finalize()
with timeout of 14400 seconds -- 4 Stunden
activate
display alert "Fertig" message "Objekt(e) wurde(n) verarbeitet."
end timeout
end Finalize

on ProcessAFileOrFolder(theFile)
if (theFile as text) ends with ":" then
ScanAFolder(theFile)
else
ProcessAFile(theFile)
end if
end ProcessAFileOrFolder

on ScanAFolder(theFolder)
set fileNames to list folder theFolder without invisibles
repeat with aFile in fileNames
set theFile to (theFolder as text) & contents of aFile
ProcessAFileOrFolder(alias theFile)
end repeat
end ScanAFolder

on open of filesList
my Initialize()
repeat with aFile in filesList
ProcessAFileOrFolder(contents of aFile)
end repeat
my Finalize()
end open

on run
activate
display alert "ACHTUNG!" message "Läuft nur als Droplet. Bitte Objekt(e) auf das Script ziehen." as warning
end run
-------------------------------------------------------------------------------------------------------------------------------------
on ProcessAFile(aFile)
tell application "Finder" to set fileName to (name of aFile) as string
set fileNameNew to (characters 1 thru 7 of fileName) & (characters -1 thru -4 of fileName) as string
tell application "Finder" to set name of aFile to fileNameNew
end ProcessAFile
-------------------------------------------------------------------------------------------------------------------------------------


Gruß
TMA

Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

JWeitzel
Beiträge gesamt: 277

6. Mär 2021, 16:48
Bewertung:

gelesen: 3390

Beitrag als Lesezeichen
Hallo an alle!

da will ich mich allem voran sehr herzlich bei euch bedanken für die Tipps und das konkrete Script! Das hilft und hat schon ein riesen Stück weiter geholfen!
Was mir auffällt ist, dass offenbar noch an vielen Stellen solche Tools im grafischen/IT-Alltag gebraucht werden. Sonst wäre ja nicht so schnell so viele konkrete Hilfen gekommen.

Bei uns könnte man sowas auch in der Tat an mehreren Stellen einsetzen. Es müssen bspw. immer die gleichen Produktabbildungen massenhaft angeliefert werden, aber die Dienstleister haben untereinander eine voneinander abweichende Dateinamen-Syntax, mal mit, mal ohne Trennstriche, mit speziellen Zählern usw.

Echt cool. Vielen Dank!
Wenn ich relevante neue Einsichten zum Thema habe, melde ich mich gerne.

Johannes
Seit Jahrzehnten Grafiker und Bildeinkäufer in einem Verlag in Freiburg/Dtl.