使用Visual Basic 2010中的Directory.GetFiles和File.Copy复制目录和结构

时间:2013-11-11 03:57:24

标签: visual-studio-2010 vb.net-2010

我得到了这个代码,我正在尝试复制一些doc文件,同时创建dir结构。

Private Sub btn_CopiarFiles_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理btn_CopiarFiles.Click         Dim itemChecked As Object         Const quote As String =“”“”

    For Each itemChecked In chklist_extensiones.CheckedItems


        For Each archivo In Directory.GetFiles("C:\TestDirectory1", itemChecked.ToString(), SearchOption.AllDirectories)

            If File.Exists(archivo) Then
                Dim InfoArchivo As FileInfo = My.Computer.FileSystem.GetFileInfo(archivo)
                Dim InfoDirectorio As DirectoryInfo = InfoArchivo.Directory


                File.Copy(archivo, _
                Path.Combine("C:\TestDirectory2\" + Path.GetFileName(InfoDirectorio.FullName) + "\", Path.GetFileName(archivo)), True)
            End If
        Next

    Next      


End Sub

事情是,而不是复制来自: C:\TestDirectory1\document.docC:\TestDirectory2\document.doc C:\TestDirectory1\doc1\document1.docC:\TestDirectory2\doc1\document1.doc C:\TestDirectory1\doc1\doc2\document2.docC:\TestDirectory2\doc1\doc2\document2.doc

以这种方式复制和创建目录 C:\TestDirectory1\document.docC:\TestDirectory2\TestDirectory1\document.doc C:\TestDirectory1\doc1\document1.docC:\TestDirectory2\doc1\document1.doc C:\TestDirectory1\doc1\doc2\document2.docC:\TestDirectory2\doc2\document2.doc

我很确定修复很简单,但实际上我没有看到它......

你们中的任何人都知道我的代码有什么问题吗?

由于

1 个答案:

答案 0 :(得分:0)

我手动创建了dir列表,使用.FullName获取完整路径,使用.Remove删除源目录(如C:\ testDirectory)并将其存储到var({{ 1}})

然后我使用SubDir

组合命运

这是代码

DirDestino + SubDir