OS X 上的文件夹操作观察所有子文件夹

bia*_*tor 8 applescript automator

我有一个文件夹,我想向其中添加文件夹操作。当文件被添加到顶层时,该操作效果很好。但是当一个文件被添加到子文件夹时,该操作不会被启用。有没有办法确保在将文件添加到其任何子文件夹时启用文件夹操作?

小智 1

launchd有一个名为watchpaths 的功能,可以在发生更改时运行 .sh 脚本或任何您喜欢的脚本。

根据您想要监视的路径的安全要求以及您希望何时监视(登录时还是始终?);确定放置 plist 的位置。

 ~/Library/LaunchAgents         Per-user agents provided by the user.
 /Library/LaunchAgents          Per-user agents provided by the administrator.
 /Library/LaunchDaemons         System-wide daemons provided by the administrator.
 /System/Library/LaunchAgents   Per-user agents provided by Mac OS X.
 /System/Library/LaunchDaemons  System-wide daemons provided by Mac OS X.
Run Code Online (Sandbox Code Playgroud)

例子:~/Library/LaunchAgents/com.tellemewhen.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
    <string>com.tellemewhen.plist</string>
    <key>OnDemand</key>
    <true/>
    <key>Program</key>
    <string>/PATH/TO/YOURSCIPTTORUN.sh</string>
    <key>ProgramArguments</key>
    <array>
            <string></string>
    </array>
    <key>WatchPaths</key>
    <array>
            <string>/path/to/watch</string>
    </array>
    </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

launchctl load ~/Library/LaunchAgents/com.tellemewhen.plist加载plist。