VB.NET拷贝整个目录下所有子目录及文件的实例代

网络编程 2025-03-23 18:07www.168986.cn编程入门

这篇文章将向你展示如何编写一段代码来拷贝整个目录下的所有子目录及文件。如果你需要这样的功能,不妨参考下面的代码示例。

让我们看看这段神奇的代码:

```csharp

Public Sub CopyDirectory(ByVal DirectorySrc As DirectoryInfo, ByVal DirectoryDes As DirectoryInfo)

' 构建目标目录路径

Dim strDirectoryDesPath As String = DirectoryDes.FullName & "\" & DirectorySrc.Name

' 如果目标目录不存在,则创建它

If Not Directory.Exists(strDirectoryDesPath) Then

Directory.CreateDirectory(strDirectoryDesPath)

End If

' 获取源目录下的所有文件

Dim f, fs() As FileInfo

fs = DirectorySrc.GetFiles()

' 逐个复制文件到目标目录

For Each f In fs

File.Copy(f.FullName, strDirectoryDesPath & "\" & f.Name, True)

Next

' 获取源目录下的所有子目录,并递归调用自身进行复制

Dim DirSrc, Dirs() As DirectoryInfo

Dirs = DirectorySrc.GetDirectories()

For Each DirSrc In Dirs

Dim DirDes As New DirectoryInfo(strDirectoryDesPath & "\" & DirSrc.Name)

CopyDirectory(DirSrc, DirDes) ' 注意这里的修改,增加路径拼接操作确保子目录的复制路径正确。

Next

End Sub

```

接下来是如何调用这个方法的示例:

假设你想从电脑的某个位置(例如:"C:\Documents and Settings\username\Favorites")拷贝所有内容到一个新的位置("g:\temp")。你可以在你的程序按钮点击事件(Button1_Click)中调用上面定义的CopyDirectory方法,如下所示:

```csharp

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

CopyDirectory(New DirectoryInfo("C:\Documents and Settings\username\Favorites"), New DirectoryInfo("g:\temp"))

End Sub

``` 当你点击这个按钮时,它就会开始拷贝工作。你的文件将被复制到指定的新目录中。这个代码非常实用,特别是在你需要迁移或备份文件时。希望这个例子能对你有所帮助!

上一篇:IDEA 激活码到期之后的乱象(看看你中没) 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by