首页 > 解决方案 > VB.NET 在剪贴板上复制多个文件并粘贴到它们的文件夹中

问题描述

我有一个程序 X 的主文件夹“A”,其中包含文件和子文件夹“B”、“C”、“D”,其中包含文件和其他子文件夹等。我创建了一个过程,它通过一些逻辑填充其中一些文件的完整路径和列表视图。

例如 c:\A\B\File.txt 等

当用户检查列表视图中的文件时,我使用以下子将文件复制到剪贴板

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Dim DataObject As New DataObject
        Dim tempFileArray As New ArrayList
        For Each chkitem In ListView1.CheckedItems
            tempFileArray.Add(chkitem.text)
        Next

        DataObject.SetData(DataFormats.FileDrop, False, DirectCast(tempFileArray.ToArray(GetType(String)), String()))
        Clipboard.SetDataObject(DataObject)
    End Sub

此时,当用户粘贴到文件夹中时,例如 c:\OtherFolder ,所有选定的文件都粘贴到用户粘贴的 c:\OtherFolder 中。

当用户将文件粘贴到文件夹中时,有什么办法可以粘贴其原始路径的副本?我的意思是,如果一个文件是从 c:\A\B\File.txt 复制的,那么在粘贴到 C:\OtherFolder 期间,将创建一个文件夹 A 和 B,并将 file.txt 粘贴到文件夹中C:\其他文件夹\A\B ?

标签: vb.netfilecopyclipboard

解决方案


推荐阅读