2010-08-28 125 views
1

我想在我的Mac上編寫一個小腳本。該腳本基本上會查找特定文件夾中的新文件,並在找到某些文件夾時將其移至其他位置。將文件放入文件夾時收到通知Mac OS X

所以我打算寫一些非常基本的東西,帶有一個無限循環,而且我想知道是否已經存在一些更好的東西?像聽衆或我可以使用的東西?

謝謝!

+0

我不知道這是否是一個超級用戶比StackOverflow問題 - 無論如何都是非常有用的問題和答案 - 太多人不知道文件夾操作! – JulesLt 2010-08-29 08:09:54

回答

4

的另一種方式,稍微級低不是文件夾的動作,但我懷疑更靈活,是使用的launchd觀看的文件夾。

launchd.plist(5),或overview documentation for launchd(不幸的是,本概述文檔主要關注的是守護進程,但原理是一樣的;你有興趣,關鍵是WatchPaths,因此搜索可能會發現更多的東西一樣的教程)。

如果你走這條路線,你需要創建一個如下所示的.plist,每當修改/Junk/Downloads目錄時,它都會運行命令/path/to/virus/scanner.sh /Junk/Downloads

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>localhost.clamav.clamscan</string> 
    <key>LowPriorityIO</key> 
    <true/> 
    <key>Nice</key> 
    <integer>1</integer> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/path/to/virus/scanner.sh</string> 
     <string>/Junk/Downloads</string> 
    </array> 
    <key>WatchPaths</key> 
    <array> 
     <string>/Junk/Downloads</string> 
    </array> 
</dict> 
</plist> 

將在$HOME/Library/LaunchAgents/foo.plist,命令launchctl load $HOME/Library/LaunchAgents/foo.plist將啓動下去。

1

謝謝Lou。

我看了一下你的鏈接,想出瞭如何創建我自己的文件夾動作,做我想做的事。

公正地分享,以防有人動作要使用它: MoveAction

它工作正常的吧!

相關問題