我目前的解决方案是我可以将文件夹复制到另一个目录
My.Computer.FileSystem.CopyDirectory(
"C:\Users\myname\path1\path2",
"C:\Users\myname\path1\path2\path3",
Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
我要做的是复制path2
目录及其所有文件(目前正在执行)但排除path2
中名为data
的子文件夹之一}
我将如何做到这一点? This forum post does something similar但使用getFile
排除隐藏文件
答案 0 :(得分:0)
您应该考虑如何手动完成。您不能复制主文件夹。你打开它并选择你需要的一切。同样,我们用代码来做。首先,我们将所有文件夹和主文件夹的文件添加到数组中。
'copy all folders, exclude the data folder
Dim Paths As New ArrayList
Paths.AddRange(Directory.GetDirectories("C:\TestDirectory1"))
For Each Item As String In Paths
If Not Item.ToString.Contains("\data\") Then
My.Computer.FileSystem.CopyDirectory(Item, "C:\TestDirectory2", True)
End If
Next
'copy all files of the main folder
Dim Files As New ArrayList
Files.AddRange(Directory.GetFiles("C:\TestDirectory1"))
For Each Item As String In Paths
My.Computer.FileSystem.CopyFile(Item, "C:\TestDirectory2", True)
Next
我们不想要\ data \文件夹,因此不会将其添加到ArrayList。我还没有机会测试代码,但我希望它能带你走上正轨!