所有子目录和标签中每个子文件的文件计数

时间:2014-09-18 14:31:11

标签: vb.net

我如何获得所有子目录的列表以及每个子目录的文件数?

最重要的是,它必须采用连续文字的形式,而不是列表框。

我的示例只打印最后一个目录。我怎么能让它像这样打印出来:

Adob​​e:45 / Adob​​e 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的原因。

2 个答案:

答案 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