我如何获得所有子目录的列表以及每个子目录的文件数?
最重要的是,它必须采用连续文字的形式,而不是列表框。
我的示例只打印最后一个目录。我怎么能让它像这样打印出来:
Adobe:45 / Adobe Media Player:5 / Java:22 / etc ....
Private Sub GetDir()
For Each x As String In System.IO.Directory.GetDirectories("C:\ProgramFiles")
y = x & " : " & CStr(x.Count)
Next
Label1.Text = y
End Sub
我在连续文中需要它,所以我可以实际发送邮件。这就是我无法使用listbox的原因。
答案 0 :(得分:1)
您可以使用StringBuilder
对象构建输出,并使用DirectoryInfo
对象轻松获取每个目录的名称和文件数。
Dim list As New StringBuilder
For Each directory As String In IO.Directory.GetDirectories("C:\ProgramFiles")
Dim subDirectory As New IO.DirectoryInfo(directory)
list.Append(subDirectory.Name & ": " & subDirectory.GetFiles.Length & " / ")
Next
Dim text As String = list.ToString.Remove(list.Length - 3)
答案 1 :(得分:0)
我必须在" Program Files"中添加空格。或者它正在爆炸,但+ =应该在循环中添加到你的字符串中。
Private Sub GetDir()
Dim y As String = ""
For Each dir As String In System.IO.Directory.GetDirectories("C:\Program Files")
y += dir & " : " & CStr(dir.Count)
Next
Label1.Text = y
End Sub