是否有一种方法可以检查文件夹/文件以进行更改(包括添加文件,删除文件,更改文件...)。 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.
许可以下: CC-BY-SA归因
不隶属于 apple.stackexchange
scroll top