Ich benötige einen Automator Folder Action-Workflow, der beim Ablegen von Dateien in den Ordner, dem der Workflow zugewiesen ist, zuerst eine Kopie der abgelegten Dateien in einen anderen Ordner erstellt und dann die ursprünglich abgelegten Dateien in einen anderen Ordner verschiebt.
Angenommen, ich möchte eine einzelne Datei in einem "Hot Folder" ablegen und dann diese Datei zuerst in einen anderen Ordner kopieren und dann dieselbe Datei, die zuerst kopiert wurde, in einen anderen Ordner verschieben.
Auf diese Weise bleibt der Ordner, in dem die Datei ursprünglich abgelegt wurde, leer, während die ursprünglich abgelegte Datei jetzt im Workflow der Automator-Ordneraktion an zwei verschiedenen Speicherorten abgelegt wird, und zwar durch Kopieren und Verschieben der Datei, aus der die Kopie erstellt wurde.
Kann mir jemand zeigen, wie das mit Automator geht?
quelle
Antworten:
Dies folgt Beispiel Automator-Ordneraktion Arbeitsablauf funktioniert bei mir.
Dies wurde mit einer Datei und mehreren Dateien gleichzeitig getestet. Über ein halbes Dutzend Tests mit unterschiedlichen Dateianzahlen und -größen wurden durchgeführt. Ich warne jedoch davor, dass dieser einfache Arbeitsablauf beeinträchtigt wird, wenn er mit mehreren wirklich großen Dateien gleichzeitig aufgerufen wird.
Richten Sie die Arbeitsablauf nach dem einzelnen Aktionen in der im Bild weiter unten gezeigten Reihenfolge und der Optionen gezeigt auf den zwei Wert der Variablen abrufen Aktionen . Welche sind in der Reihenfolge:
Hinweis: Diese Arbeitsablauf Die Wahl wurde getroffen, um zu zeigen, wie die Aufgabe ohne die Verwendung von ausgeführt werden kann Shell-Scripting und ein Führen Sie Shell Script aus Aktion , da einige Benutzer möglicherweise nicht zufrieden sind Shell-Scripting .
Wenn Sie sich wohl fühlen Shell-Scripting , dann das Beispiel Automator-Ordneraktion Arbeitsablauf funktioniert auch bei mir
Richten Sie die Arbeitsablauf nach dem einzelnen Aktion im Bild weiter unten gezeigt:
Füge hinzu ein Führen Sie Shell Script aus Aktion , beim wechseln Eingabe übergeben: von zu stdin zu als Argumente . Ersetzen Sie dann das Original Code mit dem folgenden Beispielcode, während Sie die Wert des
copy
undmovef
Variablen zu enthalten diePOSIX pathname
des Zielordner Die Datei muss zuerst kopiert und anschließend aus dem "Hot Folder", in den sie abgelegt wurde, in den Ordner verschoben werden.quelle