Automator und Shell Script - Wie Dateinamen korrekt übergeben?

CyberTom

unregistriert
Thread Starter
Dabei seit
29.03.2017
Beiträge
1.101
Punkte Reaktionen
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.
 

Olivetti

Aktives Mitglied
Dabei seit
09.12.2005
Beiträge
11.697
Punkte Reaktionen
4.071
Code:
set filename to "test.jpg"
do shell script "filename=" & filename & "; echo ${filename%.jpg}"
 

CyberTom

unregistriert
Thread Starter
Dabei seit
29.03.2017
Beiträge
1.101
Punkte Reaktionen
473
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.
 

Olivetti

Aktives Mitglied
Dabei seit
09.12.2005
Beiträge
11.697
Punkte Reaktionen
4.071
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.
 

CyberTom

unregistriert
Thread Starter
Dabei seit
29.03.2017
Beiträge
1.101
Punkte Reaktionen
473
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.
 
Oben Unten