2017-09-07 123 views
2

我想列出所有文件名下的文件夾存在硬盤驅動器與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

回答

2

有一個問題,您的每個循環只看到第一個文件中網格兩次: 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 
相關問題