Скопировать папку в непустую директорию
Можно ли скопировать папку в непустое место назначения без предварительного удаления содержимого папки назначения? Моя текущая реализация выглядит следующим образом
var folderObject = NSFileManager.defaultManager();
folderObject.removeItemAtPath_error(toPath, nil);
folderObject.copyItemAtPath_toPath_error(fromPath, toPath, nil));
Чего мне нужно добиться, так это перезаписать содержимое папки назначения на исходную папку.
1 ответ
Вызов 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);
Я предполагаю, что это рекурсивно копирует каталоги из источника и поддерживает дерево каталогов.