2023-12-19 13:02:53 +01:00

27 lines
956 B
VB.net

Imports System.IO
Friend Class FileFunctions
Friend Shared Sub CopyDirectory(ByVal sourceDir As String, ByVal destinationDir As String, Optional ByVal recursive As Boolean = True)
Dim dir = New DirectoryInfo(sourceDir)
If Not dir.Exists Then Throw New DirectoryNotFoundException($"Source directory not found: {dir.FullName}")
Dim dirs As DirectoryInfo() = dir.GetDirectories()
Directory.CreateDirectory(destinationDir)
For Each file As FileInfo In dir.GetFiles()
Dim targetFilePath As String = Path.Combine(destinationDir, file.Name)
file.CopyTo(targetFilePath, True)
Next
If recursive Then
For Each subDir As DirectoryInfo In dirs
Dim newDestinationDir As String = Path.Combine(destinationDir, subDir.Name)
CopyDirectory(subDir.FullName, newDestinationDir, True)
Next
End If
End Sub
End Class