Question

N'y at-il un moyen de vérifier un dossier / fichier des modifications (inclut l'ajout de fichiers, la suppression de fichiers, modifications dans les fichiers, ...). La « action dossier » dans Automator vérifie uniquement si les fichiers nouvellement ajoutés.

Était-ce utile?

La solution

Vous pouvez ajouter une action "Exécuter le script Shell" avec la commande:

find <directory> -newermm <reference_file>

Cela vous donnera tous les fichiers et répertoires dans <directory> qui ont changé depuis le dernier changement de <reference_file>. Assurez-vous de modifier le <reference_file> chaque fois que vous exécutez le script Automator.

donnent également un coup d'œil à la découverte page de manuel (entrer man find dans le terminal) pour plus d 'options. Trouver est très puissant et d'affiner davantage votre recherche est généralement une question de deux options supplémentaires. Par exemple. pour rechercher uniquement les répertoires modifiés après <reference_file>:

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

Si la version livrée avec Mac OS X ne suffit pas, vous pouvez aussi essayer la version qui vient avec findutils (bière, macports etc) qui devrait avoir des caractéristiques un peu plus.

Autres conseils

Je ne sais pas d'une façon de le faire avec Automator, mais il y a une application dans l'App Store appelé dossier montre qui peut faire ce que vous demandez.

dernière fois que je vérifié, Automater utilise AppleScript en arrière-plan pour vos actions de script. AppleScript n'a pas beaucoup de profondeur. Bien qu'il puisse obtenir la liste des fichiers dans un répertoire (et vous pourriez ainsi donc savoir quand quelque chose est supprimé), je ne crois pas qu'il peut calculer les changements dans un fichier.

Ce que vous avez vraiment besoin de harnais est des notifications du système de fichiers. Et puisque c'est une bête, je prendrais des conseils de kraymer et l'utilisation de launchd. Il a des crochets pour exécuter à tout moment le contenu d'un dossier est modifié. Lingon (voir aussi son obsolète SourceForge ) est une grande application pour aider les gens à sauter dans launchd. Vous pouvez écrire votre script Automator / application pour faire tout ce que vous aviez l'intention de faire quand votre répertoire a été modifié et juste l'appel de la tâche qui launchd.

Vous pouvez vérifier à une réponse antérieure de la mine , mais il semble que vous voulez

fs_usage -f filesys  

Launchd n'est pas la voie à suivre pour les changements de fichiers, fs_usage utilise la machine sous-jacente qui spotlight pouvoirs.

EDIT: Je suis tout à fait tort ici. Launchd a exactement cette fonctionnalité requise, à savoir:. Faire quelque chose sur un fichier ou répertoire changement

Vous faites un fichier .plist.

Cri "XML FSD POUR CONF FICHIERS!" (Il fait vraiment.)

et vous souhaitez utiliser une ou les deux clés ci-dessous dans votre travail launchd.

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.
Licencié sous: CC-BY-SA avec attribution
Non affilié à apple.stackexchange
scroll top