VB.NET拷贝整个目录下所有子目录及文件的实例代
这篇文章将向你展示如何编写一段代码来拷贝整个目录下的所有子目录及文件。如果你需要这样的功能,不妨参考下面的代码示例。
让我们看看这段神奇的代码:
```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
``` 当你点击这个按钮时,它就会开始拷贝工作。你的文件将被复制到指定的新目录中。这个代码非常实用,特别是在你需要迁移或备份文件时。希望这个例子能对你有所帮助!
编程语言
- VB.NET拷贝整个目录下所有子目录及文件的实例代
- IDEA 激活码到期之后的乱象(看看你中没)
- magento后台无法登录解决办法的两种方法
- JSON中key动态设置及JSON.parse和JSON.stringify()的区别
- asp.net中对象失去焦点时自动提交数据 V2
- 基于python的mysql复制工具详解
- vue组件命名和props命名代码详解
- vue如何将v-for中的表格导出来
- js设计模式之结构型享元模式详解
- MySql 5.7.17 winx64的安装配置详细教程
- CodeIgniter错误mysql_connect()- No such file or directory解决
- 详解angularJS动态生成的页面中ng-click无效解决办法
- js电话号码验证方法
- JS动态添加iframe的代码
- phpcms手机内容页面添加上一篇和下一篇
- PHP与MYSQL中UTF8 中文排序示例代码