2011-05-09 27 views

回答

1

的「Macintosh HD>用戶>用戶名> .Trash」 它是隱藏的發現者,但你可以在終端或以其他方式找到它。從那時起,這是一個普通的文件夾,你可以做任何你想要的功能。 可以這樣做

NSError *error=nil; 
NSString *path=[NSHomeDirectory() stringByAppendingPathComponent:@".Trash"]; 
NSArray *folderList=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error]; 
+4

不要硬編碼一樣,路徑的所有卷。使用'[NSHomeDirectory()stringByAppendingPathComponent:@「。Trash」]' – 2011-05-09 17:06:08

+0

感謝您的interesng評論。我學習了一個新的功能:) – 2011-05-09 18:20:53

+1

追加@「。垃圾」仍然是一種艱難的編碼路徑。更好的使用Tsuneo Yoshioka提供的方法:'NSURL * trashURL = [[NSFileManager defaultManager] URLForDirectory:NSTrashDirectory inDomain:NSUserDomainMask appropriateForURL:dirURL create:NO er​​ror:&error];'',或者更好的辦法是真正獲取當前所有的Trashes user:'NSArray * trashURLs = [[NSFileManager defaultManager] URLsForDirectory:NSTrashDirectory inDomains:NSUserDomainMask];' – 2013-11-07 10:12:26

5

垃圾物品有幾種特殊路徑。

  • 每個用戶直接在其家中有一個.Trash目錄。
  • 每個安裝卷的根目錄中都有一個.Trashes目錄,每個用戶都有一個子目錄。這樣可以使USB鍵等可移動驅動器上的垃圾條目保留在驅動器上。

以上是實現細節(從10.0開始保持不變),所以我不確定是否可以依賴它們。轉到目錄的另一種方法是使用腳本橋到Finder。 the Scripting Bridge programming guide中有一個例子。

+0

對於沒有英語作爲首選語言的版本,這是否正確?我很好奇「.Trash」和「.Trashes」是否已本地化爲用戶的語言。 – 2015-09-17 14:46:47

+0

@DarrenHale好的問題,我不知道答案。我猜想他們可能不打擾,因爲通常隱藏的目錄。 – JeremyP 2015-09-18 00:53:30

2

您可以使用URLForDirectory獲取與文件,主目錄或外部卷相關的垃圾桶目錄。

NSURL *trashURL = [[NSFileManager defaultManager] URLForDirectory:NSTrashDirectory inDomain:NSUserDomainMask appropriateForURL:dirURL create:NO error:&error]; 

您可以調用該函數用於安裝使用「mountedVolumeURLsIncludingResourceValuesForKeys」