Automator und Shell Script - Wie Dateinamen korrekt übergeben?

CyberTom

unregistriert
Thread Starter
Dabei seit
29.03.2017
Beiträge
1.101
Reaktionspunkte
473
Hallo,

scheitere gerade daran in Automator Dateinamen an "Do Script" zu übergeben so dass ich die weiterverarbeiten/-ändern kann. Aktuell will ich z.B. Ordner komprimieren, aber eben bestimmte Elemente wie das Datum oder die Dateiendung oder nur einen Teil des Dateinamens weglassen. So nutze ich zum Beispiel
Code:
set filename to quoted form of ((name of currentItem) as text)
ich habe aber keine Ahnung wie ich nach "do script" filename in irgendeiner Form manipulieren (verändern - z.B. verändern oder kürzen) kann.

Dinge wie
Code:
${filename%.jpg}
kriege ich einfach nicht hin.

Ein entsprechendes Shell-Script kann ich relativ einfach schreiben, aber die Integration in den Finder via Automator kriege ich hier einfach nicht hin. Daher wäre ich um Hilfe dankbar.
 
Code:
set filename to "test.jpg"
do shell script "filename=" & filename & "; echo ${filename%.jpg}"
 
  • Gefällt mir
Reaktionen: CyberTom
Danke, aber sobald ich da noch ein tell Application "Terminal" hinzugefügt habe, hat es nicht mehr funktioniert. Habe es dahingehend gelöst dass ich den Namen im AppleScript-Bereich manipuliert habe mit
Code:
set short_filename to text 2 thru -5 of filename
2 und -5 weil der Filename in Anführungszeichen war.
 
Schau halt das Beispiel an, du kannst doch in einem do shell script bleiben.
Wenns immer nur um die file extensions geht, such mal speziell für applescript danach. Da gibts auch eine passendere Behandlung, als über die Positionen.
 
Ich habe es als reines Apple-Script probiert und dort funktioniert es. Danke dafür.

Da ich aber an der Ausgabe im Terminal interessiert bin, geht es leider nicht ohne weitere Anpassungen. Die Lösung via AppleScript ist sogar interessanter für mich, da ich so einfach jede beliebige (dreistellige) Dateierweiterung entfernen kann.
 
Zurück
Oben Unten