是否可以将文件夹复制到非空目的地而不先删除目标文件夹的内容? 我目前的实施如下
var folderObject = NSFileManager.defaultManager();
folderObject.removeItemAtPath_error(toPath, nil);
folderObject.copyItemAtPath_toPath_error(fromPath, toPath, nil));
我需要实现的是用源文件夹覆盖目标文件夹的内容。
答案 0 :(得分:0)
调用removeItemAtPath_error
删除目标目录,copyItemAtPath_toPath_error
创建一个与删除目录同名的目录,因此它是空的。
作为旁注,NSFileManager
实例的命名有些误导,因为它不是文件夹对象而是文件管理器实例引用。
如何做到这一点的一个例子(我不熟悉PyObjC
,所以这只是为了灵感):
# Define paths
var sourcePath = "/my/source/path/"
var targetPath = "/my/target/path/"
# Create reference to file manager
var fileManager = NSFileManager.defaultManager();
# Create array of all file and directory paths inside the source directory
var sourcePaths = fileManager.contentsOfDirectoryAtPath_sourcePath_error(sourcePath, nil);
# For each source file or directory
for sourcePath in sourcePaths:
# Copy the file or directory to the target path
fileManager.copyItemAtPath_toPath_error(sourcePath, targetPath, nil);
我假设这会递归地复制源中的目录并维护目录树。