2014-09-18 3 views
0

Как я могу получить список всех поддиректорий и для каждого поддиректория количество файлов?Все подкаталоги и количество файлов для каждого в листе

И самое главное, оно должно быть в виде непрерывного текста, а не как список.

Мой пример просто печатает последний каталог. Как я могу получить его, чтобы напечатать их все, как это:

Adobe: 45/Adobe Media Player: 5/Java: 22/и т.д ....

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 

мне это нужно в тексте так непрерывном я может отправить его по почте. Вот почему я не могу работать со списком.

+0

'у = х & ":" & CStr (x.Count)' присваивает текущий каталог в чем СЦЕПИТЬ (строка использовать опцию Strict?!): 'У & = ...' – Plutonix

ответ

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) 
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 
Смежные вопросы