2012-03-22 63 views
1

我正在做一個簡單的Applescript來檢查垃圾箱是否有物品,如果是,請清空它。不過,我在檢查垃圾箱是否爲空時遇到了問題。這是我有:「如果文件夾不爲空」

set trashcontents to text returned of (do shell script "ls ~/.Trash")

當「無標題文件夾」位於廢紙簍時,將返回error "Can’t get text returned of \"untitled folder\"." number -1728 from text returned of "untitled folder";當其爲空時爲error "Can’t get text returned of \"\"." number -1728 from text returned of ""。我究竟做錯了什麼?

+0

「文本返回」僅適用於用戶對話框。 'do shell script'命令只是返回由該shell腳本打印爲stout的文本。 – fanaugen 2012-03-22 14:04:00

回答

2

它其實更簡單:

do shell script "ls ~/.Trash" 
set trashcontents to result 

result將等於""(空字符串)當垃圾桶是空的。

但是,除非你想清空回收站取決於它是否包含特定項目(在你的問題中,它聽起來像「如果它不是空的,清空它」),沒有必要檢查它是否爲空...如果沒有任何內容,Finder命令清空垃圾箱將無效:

tell application "Finder" to empty the trash 
+0

我正在檢查垃圾桶是否每30分鐘都是空的,如果它有一個物品,請求清空(所以沒有重要的東西會被刪除,否則它會一直保留爲空)。但是,'設置垃圾成果'幫助,謝謝! – tkbx 2012-03-22 15:48:19

2

試試這個:

set trashcontents to quoted form of (do shell script "ls ~/.Trash")