我有以下代碼嘗試獲取我的父目錄及其所有子目錄中的所有文件名。列出所有子導向器中的所有文件,無論有多少
該代碼有效,但不是我想要的。即它將處理父目錄中的所有文件,並且全部處於子目錄的「第一級」中,但我希望能夠進入所有級別的子目錄。
我該怎麼做?
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'ListBox1.Items.AddRange(IO.Directory.GetFiles("C:\"))
For Each Dir As String In IO.Directory.GetDirectories("C:\Program Files")
' ListBox1.Items.Add(Dir)
ListBox1.Items.AddRange(IO.Directory.GetFiles(Dir))
Next
End Sub
如果你想使用這樣的代碼,那麼你需要編寫一個遞歸方法。如果您搜索的文件夾不包含任何不可訪問的子文件夾,只需使用「Directory.GetFiles」的重載,即可以指定搜索子文件夾。這是一行代碼。 – jmcilhinney
@jmcilhinney實際上你不需要遞歸方法...我也這麼認爲,但是我做了一些研究,發現下面的解決方案只需2行代碼即可實現。 –
您通常會將該目錄添加到您的參數列表中,但.NET有一個內置方法,您可以通過鏈接來枚舉所有子目錄。 – ragerory