我會採取不同的方式,並使用一組行動提供的Automator無需使用AppleScript的。
以下工作流程將完成您正在尋找的工作。
在的Automator,創建一個新的工作流加入以下操作:
- 獲得指定的Finder項
- 獲取文件夾內容
- 過濾器Finder項目
- 將Finder項廢紙簍
保存工作流程作爲應用,如:清理下載。應用程序
這應該運行得更快然後AppleScript版本,它在我的測試。
蘋果首選方法來安排這樣的東西,因爲這是使用launchd
和launchctl
。
運行清理下載,每天,我會做到以下幾點:
- 添加清理下載到:系統預置>安全&隱私>隱私>無障礙
創建一個用戶LaunchAgent在:~/Library/LaunchAgents/
舉例:com.me.cleanup.downloads.plist
爲包含XML文件:
<?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>com.me.cleanup.downloads</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/Cleanup Downloads.app/Contents/MacOS/Application Stub</string>
</array>
<key>RunAtLoad</key>
<false/>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>10</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
</array>
</dict>
</plist>
設置Hours
和Minutes
值,StartCalendarInterval
下,以適合您的需要。該示例設置爲:10:00 AM
在終端運行以下命令到負載的LaunchAgent:
launchctl load ~/Library/LaunchAgents/com.me.cleanup.downloads.plist
注:見終端中的launchd
和launchctl
的手冊頁,例如man launchctl
或者使用第三方工具,它有一個GUI,例如:Lingon X
注:我不跟Lingon X的開發者相關的,但是我是一個滿意的客戶。
您的AppleScript代碼一些評論:
一個repeat
聲明是沒有必要的,只要使用:
move deleteFileList to trash
的current date
命令技術上執行下current application
,而不是Finder
作爲查找器不理解current date
命令。因此,設置爲 a 變量並在命令中使用變量。
set thisDate to get (current date) - 30 * days
... whose modification date is less than thisDate
現在,我不建議你居然在工作流程我建議使用AppleScript的,我只是指出了一些東西,在代碼我再跟。
@theonlygusti,我已更新我的答案,以包含信息來安排使用工作流應用程序。 – user3439894
我假設「[]對每個重複...」意思是爲每個找到的子文件夾重複一遍?所以,[這是它應該是什麼樣子?](http://i.cubeupload.com/hrJBcx.png) – theonlygusti
@theonlygusti,在** Automator **中,創建一個新的**應用程序** _workflow_,添加以下_actions_:... :)是的,將其另存爲應用程序。 – user3439894