如何列出硬盘中文件夹下的所有文件名?

问题描述:

我想列出所有文件名下的文件夹存在硬盘驱动器与vb.net,我不知道如何。首先,我选择一个文件夹与folderbrowser组件,接下来,我列出所有文件如何列出硬盘中文件夹下的所有文件名?

这里是我的代码(仅适用于选择一个文件夹)

dossier_disque.ShowDialog() 
    txt_folder.Text = dossier_disque.SelectedPath 

对列表中的所有文件,我试图用每一个,但它是不正确

我的代码,当我试图列出文件

 Dim files() As String = Directory.GetFiles(txt_folder.Text) 
    For Each a In CStr(files.Count) 
     folder_hard.Rows.Add(Directory.GetFiles(txt_folder.Text)) 
    Next 

folder_hard是一个网格名称 txt_folder是一个文件夹路径

有了这个代码的名字,结果,我可以

+4

的[获取一个目录下的所有文件的列表可能的复制在vb.net](https://stackoverflow.com/questions/1457525/get-a-list-of-all-files-inside-of-a-directory-in-vb-net) – muffi

+0

相同的结果,我编辑我的文章 –

+0

这是一个家庭作业,你不知道该怎么做? ;-)你知道,你正在循环一个数字而不是文件列表?例如。如果你的文件夹中有587个文件,你的For-loop会返回3个字符。 '5','8','7'!我想,你想循环访问文件阵列并将它们添加到DGV中。 – muffi

有一个问题,您的每个循环只看到第一个文件中网格两次: CStr()将值转换为字符串。 因此,您的for循环正在遍历文件数组中文件数的字符串中的每个字符。 所以将其更改为:

For Each a In files 

然后,将这些文件阵列中的每个文件名。 如果你想给每个添加到您的网格,你需要更改该行:

folder_hard.Rows.Add(a) 

所以这应该工作:

Dim files() As String = Directory.GetFiles(txt_folder.Text) 
For Each a In files 
    folder_hard.Rows.Add(a) 
Next