重命名文件时触发文件夹操作

Triggering a folder action when a file is renamed

我知道我可以在将特定文件添加到文件夹时触发操作,但我喜欢在重命名文件时执行相同的操作,例如远程(Dropbox 等) 我怎样才能做到这一点?谢谢

更新答案

这是一个小脚本,每当当前目录中的任何文件更改时,它都会触发 Applescript 以显示一个对话框:

#!/bin/bash
fswatch -x . | while read f; do
   osascript <<EOF
tell application "System Events" to display dialog "$f"
EOF
done

因此,您可以将其保存为 monitor,然后使用以下命令使其可执行(只需要一次):

chmod +x monitor

和运行它与:

./monitor

您会看到它每次都会使用目录中更改的任何文件的名称来触发 Applescript。

原答案

您也许可以使用 fswatch。我用 homebrew 安装它,使用:

brew install fswatch

然后您可以在您的 Dropbox 帐户上 运行 fswatch 像这样:

fswatch -x -r ~/Dropbox

每当您的 Dropbox 中发生任何事情时,它都会打印一行,您可以将其传递给脚本进行处理。

这里有几个例子: