#vb.net #directory
#vb.net #каталог
Вопрос:
У меня есть приложение на vb, которое копирует папки и их вложенную папку, которая работает должным образом. Моя проблема в том, что копируется неправильное имя папки копируемой папки.
Например, если я скопирую папку в этом месте: C:UsersDocumentsSample_Folder Выходное скопированное имя папки будет «Documents».
C:UsersDocumentsSample_FolderSample_Folder_2 Выходное скопированное имя папки будет «Sample_Folder».
Private Sub btnCopy_Click(sender As Object, e As EventArgs) Handles btnCopy.Click
Dim SourcePath As String = txtBrowse.Text
Dim DestinationPath As String = "C:Users1000258123DesktopNEW"
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)
MsgBox("Copy Successful")
End Sub
Комментарии:
1. «Моя проблема в том, что копируется неправильное имя копируемой папки». — с моей точки зрения, это так. если вы хотите использовать имя родительской папки копируемой папки, вам придется написать код для извлечения имени родительской папки. Я полагаю, вы можете использовать Directory. getParent .
2.Вам не нужно вызывать,
Path.GetDirectoryName
еслиSourcePath
это уже путь к каталогу. Просто используйтеPath.GetFileName(SourcePath)
и объедините его с путем назначения, как вы уже делаете, и все должно быть готово.