使用Automator检查文件夹/文件更改?
题
是否有一种方法可以检查文件夹/文件以进行更改(包括添加文件,删除文件,更改文件...)。 Automator中的“文件夹操作”仅检查是否添加了任何文件。
解决方案
您可以在命令中添加“运行shell脚本”操作:
find <directory> -newermm <reference_file>
这将为您提供所有文件和目录 <directory>
自上次更改以来发生了变化 <reference_file>
. 。只需确保您修改 <reference_file>
每次运行自动脚本时。
还要查看查找手册页(输入 man find
在终端中)以获取更多选项。查找非常强大,进一步完善您的搜索通常是其他一些选择的问题。例如,仅搜索在此之后修改的目录 <reference_file>
:
find <directory> -type d -newermm <reference_file>
如果使用OSX发货的版本还不够,您也可以尝试随附的版本 findutils
(酿造,MacPorts等),该功能应具有更多功能。
其他提示
我不知道使用Automator来执行此操作的方法,但是App Store中有一个名为Folder Watch的应用程序可能会执行您的要求。
因此,上次我检查时,Automater在后台使用AppleScript来脚本您的操作。 AppleScript对此没有太大的深度。虽然它可以在目录中获取文件列表(因此您可以找出何时删除某些内容),但我不相信它可以计算文件的更改。
您真正需要利用的是文件系统通知。由于那是野兽,我会接受Kraymer的建议并使用发射。随时更改文件夹的内容时,它具有挂钩。 林肯 (另请参见其过时的 SourceForge页面)是帮助人们跳入发布会的绝佳应用。您可以编写您的自动脚本/应用程序,以在修改目录时要做任何计划要做的事情,并且只需启动任务调用即可。
您可以检查 在我的早期答案中, ,但听起来你想要
fs_usage -f filesys
启动D并不是要进行文件更改的方式,而是FS_USAGE使用底层计算机,该机器为聚光灯提供动力。
编辑:我在这里完全错了。启动D具有所需的功能,即:在文件或目录更改上执行一些操作。
您制作一个.plist文件。
尖叫“用于conf文件的XML Sux!” (确实确实如此。)
而且,您需要在启动工作中使用下面的一个或两个键。
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.