我有一个包含在不同文件夹和卷中的文件URL列表。我想告诉Finder在cocoa app中复制或移动它们。
它应该默认移动,但如果源和目标的卷不同,则使用copy。我想最终得到Finder显示其进度窗口。
有办法做到这一点吗?当我使用拖放时,我可以让它像这样复制,但这需要用户这样做。我希望用户在标准文件对话框表中选择目标文件夹,然后让它启动。
AppleScript似乎是一种混乱且容易出错的方式。
答案 0 :(得分:0)
决定是否移动或复制取决于您的应用逻辑。要在Swift 4中移动文件,请执行以下操作:
do {
try FileManager.default.moveItem(atPath: sourcePath, toPath: destinationPath)
return nil
} catch let err {
// Do something with the error
}
复制看起来几乎完全相同:
do {
try FileManager.default.copyItem(atPath: sourcePath, toPath: destinationPath)
return nil
} catch let err {
// do something with error
}