[automator] kopieren->jpg umwandeln -> evt. löschen

jian

Aktives Mitglied
Thread Starter
Dabei seit
02.11.2003
Beiträge
236
Reaktionspunkte
12
Ahoi werte Scriptoren und Automationsliebhaber,
vorab, ich habe die suche und google schon angestrengt, aber nichts gefunden.

Problem: ich habe zwei Ordner (einen am Arbeitsplatz, einen auf dem Server im Netzwerk) in dem Ordner befinden sich Photoshopdateien, die über den Automator in Jpegs in einem benachtbarten ordner kopiert und dann umgewandelt werden. Über Synk werden die Ordner (arbeitsplatz und server) syncronisiert, das Problem ist nun, wenn ich eine Photoshopdatei lösche, möchte ich, dass das automatisch von Automator erstellte jpeg auch gelöscht wird (aktualisieren geht ja über den Automator). Dafür finde ich aber keine Lösung, weiss jemand von Euch, was ich im Automator drehen kann?

Zum Verständniss:

synk.jpg

Bildschirmfoto 2014-01-27 um 17.43.10.png
 
Ich sage mal dass das verdammt schlecht aussieht mit einer Lösung. Mir ist kein Tool bekannt - außerdem gibt es ja zwischen der PSD und der JPG keine wirklich Verbindung. Und ich (und bestimmt die meisten anderen...) würden sich bedanken, wenn es en Tool gäbe, das beim Löschen von Datei.A irgendwo auf der Platte eine Datei.B automatisch mitlöscht.
 
Du könntest eine Ordneraktion erstellen, die ausgelöst wird, wenn eine Datei aus dem PSD-Ordner gelöscht wird und dann entsprechend synchronisiert. Das geht so:

1. Öffne den AppleScript-Editor und füge folgendes Skript ein:

Code:
[COLOR=#000000][FONT=Verdana][B]on[/B] [/FONT][/COLOR][B]removing folder items from [/B][COLOR=#4F8F00][FONT=Verdana]this_folder [/FONT][/COLOR][COLOR=#012FBE][FONT=Verdana]after losing [/FONT][/COLOR][COLOR=#4F8F00][FONT=Verdana]these_items
[/FONT][/COLOR][COLOR=#012FBE][FONT=Verdana][COLOR=#000000]    [/COLOR][B]do shell script[/B][COLOR=#000000] "#!/bin/bash[/COLOR][/FONT][/COLOR]
[FONT=Verdana]
[/FONT][FONT=Verdana]jpegFolder=\"/Volumes/Data/Test/\";[/FONT]
[FONT=Verdana]psdFolder=\"/Users/Name/Desktop/Test/\";
[/FONT][FONT=Verdana]for i in $jpegFolder*.jpg; do [/FONT]
[FONT=Verdana]    psd=\"$psdFolder$(basename \"${i%.*}\").psd\"; [/FONT]
[FONT=Verdana]    if [ ! -f \"$psd\" ]; then [/FONT]
[FONT=Verdana]        #Loeschen:
       #rm -f \"$i\"; [/FONT]
[FONT=Verdana]        #In Papierkorb bewegen:[/FONT]
[FONT=Verdana]        mv \"$i\" ~/.Trash/[/FONT]
[FONT=Verdana]    fi;[/FONT]
[FONT=Verdana]done;"[/FONT]
[COLOR=#012FBE][FONT=Verdana][COLOR=#000000][B]end[/B] [/COLOR][B]removing folder items from[/B][/FONT][/COLOR]

In Zeile 5 und 6 musst du dann die Pfade anpassen. Der erste Pfad ist der Pfad zum Ordner mit den JPEGs, der zweite der Pfad zum Ordner mit den PSDs. Vergewissere dich bitte, dass es der korrekte Pfad ist, sonst kann das unangenehme Folgen haben. Dann das Skript speichern unter ~/Library/Scripts/Folder Action Scripts/

2. Um das Skript nun als Ordneraktion hinzuzufügen, mach einen Rechtsklick auf den Ordner mit den PSDs und wähle Dienste->Ordneraktionen konfigurieren ... aus. Hier kannst du nun dein Skript hinzufügen.


Das Skript oben funktioniert folgendermaßen:

Es geht jede Datei mit der Endung .jpg im JPEG-Ordner durch. Wenn es im PSD-Ordner keine Datei mit selbem Namen gibt, dann wird die JPEG-Datei in den (lokalen) Papierkorb verschoben. Wenn die Datei direkt gelöscht werden soll, dann benutze den Befehl in Zeile 10 für den Befehl in Zeile 12.

Ich muss glaube ich nicht erwähnen, dass du immer ein Backup aller deiner Daten haben solltest.
 
Hi, vielen Dank, das versuche ich mal...
 
Zurück
Oben Unten