В Win32 API существует CopyFile, который буквально копирует файл. Однако этот API не создает папки. Например, я хотел бы скопировать C:\Data\output.txt
кому: D:\Temp\Data\output.txt
. Но, целевые папки, D:\Temp
и D:\Temp\Data
', не существовать. В этом случае этот API просто перестал работать.
Существует ли удобный API, который может автоматически и рекурсивно создать структуру каталогов на копии? Определенно, я могу сделать такую функцию, но я ожидаю, что кто-то уже сделал функцию.
SHFileOperation
должен выполнить эту задачу. Из MSDN:
Операции копирования и перемещения могут указывать на то, что директории назначения, которые не существуют. В этих случаях система попытки их создания и обычно отображает диалоговое окно для запроса пользователю если они хотят создать новый каталог. Чтобы подавить это диалоговое окно и создали каталоги беззвучно установите
FOF_NOCONFIRMMKDIR
. флаг вfFlags
.