vb.net Shell文件夹复制剪切粘贴多种实例代码和每行备注
时间: 2024-01-24 19:04:56 浏览: 137
以下是 VB.NET 中使用 Shell 实现文件夹复制剪切粘贴的多种示例代码:
使用 xcopy 命令复制文件夹:
```vb
' 复制文件夹
Shell("xcopy ""源文件夹路径"" ""目标文件夹路径"" /E /I /Y", AppWinStyle.Hide)
' 剪切文件夹
Shell("move ""源文件夹路径"" ""目标文件夹路径""", AppWinStyle.Hide)
' 粘贴文件夹
Shell("xcopy ""剪切的文件夹路径"" ""目标文件夹路径"" /E /I /Y", AppWinStyle.Hide)
```
使用 robocopy 命令复制文件夹:
```vb
' 复制文件夹
Shell("robocopy ""源文件夹路径"" ""目标文件夹路径"" /E /MIR /R:0 /W:0", AppWinStyle.Hide)
' 剪切文件夹
Shell("move ""源文件夹路径"" ""目标文件夹路径""", AppWinStyle.Hide)
' 粘贴文件夹
Shell("robocopy ""剪切的文件夹路径"" ""目标文件夹路径"" /E /MIR /R:0 /W:0", AppWinStyle.Hide)
```
使用 FileSystem 类复制文件夹:
```vb
' 复制文件夹
My.Computer.FileSystem.CopyDirectory("源文件夹路径", "目标文件夹路径", True)
' 剪切文件夹
My.Computer.FileSystem.MoveDirectory("源文件夹路径", "目标文件夹路径")
' 粘贴文件夹
My.Computer.FileSystem.MoveDirectory("剪切的文件夹路径", "目标文件夹路径")
```
使用 File 类复制文件夹:
```vb
' 复制文件夹
DirectoryCopy("源文件夹路径", "目标文件夹路径", True)
' 剪切文件夹
Directory.Move("源文件夹路径", "目标文件夹路径")
' 粘贴文件夹
Directory.Move("剪切的文件夹路径", "目标文件夹路径")
```
其中,DirectoryCopy 函数定义如下:
```vb
Private Sub DirectoryCopy(ByVal sourceDirName As String, ByVal destDirName As String, ByVal overwrite As Boolean)
' 获取源文件夹中的所有文件和文件夹
Dim files() As String = Directory.GetFiles(sourceDirName)
Dim dirs() As String = Directory.GetDirectories(sourceDirName)
' 如果目标文件夹不存在,则创建它
If Not Directory.Exists(destDirName) Then
Directory.CreateDirectory(destDirName)
End If
' 复制所有文件
For Each file As String In files
Dim fileName As String = Path.GetFileName(file)
Dim destFile As String = Path.Combine(destDirName, fileName)
File.Copy(file, destFile, overwrite)
Next
' 复制所有子文件夹
For Each dir As String In dirs
Dim dirname As String = Path.GetFileName(dir)
Dim destDir As String = Path.Combine(destDirName, dirname)
DirectoryCopy(dir, destDir, overwrite)
Next
End Sub
```
需要注意的是,以上代码中的路径需要根据实际情况进行修改,并且在使用剪切和粘贴功能时,需要先复制一份文件夹,再将其剪切到目标文件夹中进行粘贴操作。
阅读全文