#vb.net
#vb.net
Вопрос:
Я хочу скопировать определенную папку и ее содержимое с помощью vb.net все методы, которые я нашел, просто копируют содержимое указанной папки, но не папку в целом. Я хочу, чтобы папка, к которой ведет путь, была скопирована полностью, а не только содержимое.На данный момент у меня есть этот код:
Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory("C:UsersMaxDesktoptest" amp; sender.name, "C:UsersMaxDesktoptest2")
Комментарии:
1. msdn.microsoft.com/en-us/library/…
2. По-прежнему копируется только содержимое папки, а не сама папка содержимое. Если только я как-то неправильно не использую эту функцию.
Ответ №1:
Вы не можете просто скопировать каталог и все его содержимое с помощью одной строки кода. Однако вы можете «вырезать и вставить» каталог с:
Directory.Move("C:UsersMaxDesktoptest" amp; sender.name, "C:UsersMaxDesktoptest2" amp; sender.name)
Для копирования вам нужно создать новую папку с тем же именем в каталоге назначения, а затем скопировать в нее содержимое:
Dim SourcePath As String = "C:UsersMaxDesktoptest" amp; sender.name
Dim DestinationPath As String = "C:UsersMaxDesktoptest2"
Dim newDirectory As String = System.IO.Path.Combine(DestinationPath, Path.GetFileName(Path.GetDirectoryName(SourcePath)))
If Not (Directory.Exists(newDirectory)) Then
Directory.CreateDirectory(newDirectory)
End If
Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory(SourcePath, newDirectory)
Комментарии:
1. относится ли это и к подкаталогам этого каталога?
2. Да, он копирует все файлы и папки.