将目录移动到垃圾箱

Posted

技术标签:

【中文标题】将目录移动到垃圾箱【英文标题】:Move directory to trash 【发布时间】:2010-09-08 07:55:52 【问题描述】:

我需要将一个目录(包括其内容)移至回收站。 我在文档中找到NSWorkspaceRecycleOperation,并写了这段代码:

NSString *path = [NSString stringWithString:@"/Users/test/Desktop/test"];

NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil];

[[NSWorkspace sharedWorkspace] performFileOperation:NSWorkspaceRecycleOperation 
                                             source:path 
                                        destination:@"" 
                                              files:dirContents 
                                                tag:nil];

它将所有内容移动到垃圾箱,但不移动目录本身。那么,我该怎么做呢?

【问题讨论】:

【参考方案1】:

您目前只对目录内容执行回收操作。给定一个目录 dir 进行回收,请改用以下内容:

[[NSWorkspace sharedWorkspace] performFileOperation:NSWorkspaceRecycleOperation 
                               source:[dir stringByDeletingLastPathComponent]
                               destination:@"" 
                               files:[NSArray arrayWithObject:[dir lastPathComponent]]
                               tag:nil];

【讨论】:

以上是关于将目录移动到垃圾箱的主要内容,如果未能解决你的问题,请参考以下文章

删除/移动到垃圾箱时将项目标记为已读

OSX:以编程方式将文件从垃圾箱移动到其先前的位置

将对象正确移动到废纸篓

使用 C++ 在 Linux 中将文件移动到垃圾箱

移动到垃圾箱时的 URL 书签数据

如何在 Godot 中恢复移动到垃圾箱的物品以及在哪里可以找到回收站?