none
如何获取Clipboard中所有文件(包括文件夹中的文件)的文件名? RRS feed

  • 问题

  •  

    开发环境:Windows XP Pro SP2;Visual Basic 2005

     

     

    请问如何能获取Clipboard中所有文件,包括所有文件夹下面的所有文件的文件名?

     

    Dim FileList As System.Collections.Specialized.StringCollection = My.Computer.Clipboard.GetFileDropList
                For Each FileName As String In FileList
                    MessageBox.Show(FileName)
                Next FileName

     

    上述方法不能获得Clipboard中包含的文件夹中的文件名

    2008年12月10日 11:52

答案

  • 你可能没明白我的意思  剪贴版不可能也不必要知到其中子目录中的所有文件信息  不然你一个复制可能要读取个半分钟  这可还没粘贴呢

     

    所以剪贴版只会保留最上层的文件和文件夹信息

     

    你想要完整的列表 只需要把所有的剪贴版中的文件夹的路径  传递到我给你的函数中   就可以得到这个路径下的所有文件和文件夹列表

     

    两相接合  就可以得到  “剪贴版下所有文件夹的所有文件”了

     

     

     

     

    2008年12月12日 1:27

全部回复

  • 判断是目录就遍历下面说有文件

    Code Snippet
    If (System.IO.Directory.Exists(fileName)) Then

     

     

     

    2008年12月11日 2:13
    版主
  •  名显示 写:

     

    开发环境:Windows XP Pro SP2;Visual Basic 2005

     

     

    请问如何能获取Clipboard中所有文件,包括所有文件夹下面的所有文件的文件名?

     

    Dim FileList As System.Collections.Specialized.StringCollection = My.Computer.Clipboard.GetFileDropList
                For Each FileName As String In FileList
                    MessageBox.Show(FileName)
                Next FileName

     

    上述方法不能获得Clipboard中包含的文件夹中的文件名

     

     

    把所有的路径  传入下面函数  可以得到进一步列表的string  

     

       

    Code Snippet

    Function accessFile(ByVal path As String) As String
            Dim sb As New System.Text.StringBuilder
            For Each fs As String In My.Computer.FileSystem.GetFiles(path)
                sb.AppendLine(fs)

            Next
            For Each pas As String In My.Computer.FileSystem.GetDirectories(path)
                sb.AppendLine(pas)

                sb.AppendLine(accessFile(pas))

            Next

            Return sb.ToString
        End Function

     

     

    然后请按 vbcrlf 作为分隔符 split
    2008年12月11日 3:20
  •  

    抱歉,我说的是Clipboard,剪贴板
    2008年12月11日 12:41
  • 你可能没明白我的意思  剪贴版不可能也不必要知到其中子目录中的所有文件信息  不然你一个复制可能要读取个半分钟  这可还没粘贴呢

     

    所以剪贴版只会保留最上层的文件和文件夹信息

     

    你想要完整的列表 只需要把所有的剪贴版中的文件夹的路径  传递到我给你的函数中   就可以得到这个路径下的所有文件和文件夹列表

     

    两相接合  就可以得到  “剪贴版下所有文件夹的所有文件”了

     

     

     

     

    2008年12月12日 1:27