Swift使用FileManager.default.trashItem删除带有(Put Back)功能的文件(移动到B



使用以下代码,我可以删除一个被移到垃圾桶的文件,但没有"放回";功能。当我右键单击垃圾桶中的文件时,只有立即删除选项可用。

let srcURL = URL(fileURLWithPath:filename!)
var trashedPath: NSURL!
try! FileManager.default.trashItem(at: srcURL, resultingItemURL: &trashedPath)

我的程序是用Swift 5.4编写的Finder Quick Action Service,在这里我传递一个或多个文件名,其中包含.heic.png.tiff等图像文件的路径,并将其转换为jpg。然后我想删除源文件并将它们移到垃圾桶中。由于这些文件可能来自不同的目录,我想提供一种工具,用户可以在其中将删除的源文件恢复到正确的位置。

应该做些什么才能得到";放回";选项

就我的研究而言;放回";功能只能通过Finder获得。我在github上看到了ali rantakari的垃圾现在我必须实现一种在swift中运行此命令的方法,如下所示。

@discardableResult
func shell(_ args: String...) -> Int32 {
    let task = Process()
    task.launchPath = "/usr/bin/env"
    task.arguments = args
    task.launch()
    task.waitUntilExit()
    return task.terminationStatus
}
shell("trash","-F", "(filename!)") 

最新更新