Frage

Gibt es eine Möglichkeit, einen Ordner/eine Datei auf Änderungen zu überprüfen (einschließlich Hinzufügen von Dateien, Löschen von Dateien, Änderungen in Dateien, ...). Die "Ordneraktion" im Automator prüft nur, ob Dateien neu hinzugefügt werden.

War es hilfreich?

Lösung

Mit dem Befehl können Sie eine Aktion "Shell -Skript ausführen" hinzufügen:

find <directory> -newermm <reference_file>

Dadurch erhalten Sie alle Dateien und Verzeichnisse im Inneren <directory> das hat sich seit der letzten Änderung von verändert <reference_file>. Stellen Sie einfach sicher, dass Sie die ändern <reference_file> Jedes Mal, wenn Sie das Automator -Skript ausführen.

Schauen Sie sich auch auf die Handbuchseite an (ENTER man find im Terminal) für weitere Optionen. Fund ist sehr leistungsstark und die Weiterverarbeitung Ihrer Suche ist normalerweise eine Frage einiger zusätzlicher Optionen. ZB nur nach danach geänderten Verzeichnissen suchen <reference_file>:

find <directory> -type d -newermm <reference_file>

Wenn die Version, die mit OSX geliefert wird, nicht ausreicht, können Sie auch die mit gelieferte Version ausprobieren findutils (Brauen Sie, MacPorts usw.) Das sollte etwas mehr Funktionen haben.

Andere Tipps

Ich weiß keinen Weg, dies mit Automator zu tun, aber es gibt eine App im App Store namens Ordner Watch, die möglicherweise das tut, was Sie fragen.

Als ich das letzte Mal überprüft habe, dass Automatater AppleScript im Hintergrund verwendet, um Ihre Aktionen zu entfassen. Apfelkript hat nicht viel Tiefe. Während die Liste der Dateien in einem Verzeichnis einbezogen werden kann (und daher können Sie herausfinden, wann etwas gelöscht wird), aber ich glaube nicht, dass es Änderungen an einer Datei berechnen kann.

Was Sie wirklich benötigen, um Dateisystembenachrichtigungen zu nutzen. Und da das ein Biest ist, würde ich Kraymers Rat einnehmen und Launchd verwenden. Es gibt Haken, die Sie jederzeit ausführen können, wenn der Inhalt eines Ordners geändert wird. Lingon (Siehe auch es veraltet Quellforge -Seite) ist eine großartige Anwendung, um Menschen zu helfen, in Launchd zu springen. Sie können Ihr Automator -Skript/Ihre Bewerbung schreiben, um alles zu tun, was Sie planen, wenn Ihr Verzeichnis geändert wurde, und nur die LaunchD -Task telefonieren lassen.

Du kannst nachschauen Bei einer früheren Antwort von mir, aber es hört sich so an, als ob du es willst

fs_usage -f filesys  

Startd ist nicht der Weg für Dateiänderungen, FS_USAGE verwendet die zugrunde liegende Maschine, die Spotlight macht.

EDIT: Ich bin hier völlig falsch. Startd hat genau diese Funktionalität, dh: etwas in einer Datei- oder Verzeichnisänderung durchführen.

Sie erstellen eine .plist -Datei.

Schreien Sie "XML Sux für Conf -Dateien!" ( Tut es wirklich. )

Und Sie möchten einen oder beide Tasten unten in Ihrem Launchd -Job verwenden.

WatchPaths <array of strings>
 This optional key causes the job to be started if any one of the listed
 paths are modified.

 QueueDirectories <array of strings>
 Much like the WatchPaths option, this key will watch the paths for modi-
 fications. The difference being that the job will only be started if the
 path is a directory and the directory is not empty.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit apple.stackexchange
scroll top