Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 101

Получить список папок с их размером

04.04.2018, 09:36. Показов 4165. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
На форме есть listview и кнопка.
Подскажите. пожалуйста, как можно получить список папок из определенной директории(только имя папки без полного пути к ней) в первый столбец listview а во второй столбец listview вывести размер данной папки. Причем осуществить сортировку так что бы самая большая по размеру папку была вверху списка, а самая маленькая внизу.
Заранее спасибо большое за помощь!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2018, 09:36
Ответы с готовыми решениями:

Получить список папок и вложенных папок, отсортированных по размеру
Как можно получить список папок и вложенных папок, отсортированных по размеру

Получить список файлов и папок
Имеется строка в которой содержится адрес некоторой папки. Как можно получить список всех файлов и подпапок в данной папке?

Получить список папок в Combobox
Здравствуйте! Как проверить папки по определённому адресу и добавить последние в этом адресе папку в combobox? Поясняю. Есть Combobox....

8
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
04.04.2018, 11:03
осуществить поиск всех файлов в папке и её подпапках, определить их размер и сложить, это и будет размер каталога.
1
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 101
04.04.2018, 11:31  [ТС]
Orlangur1991, скажем есть каталог: F:\1 с кучей разных папок
как узнать размер одной папки, у меня получилось:

VB.NET
1
2
3
4
5
6
7
Dim fullfilesPath() As String = Directory.GetFiles("F:\1\_1\", "*.*", SearchOption.AllDirectories)
        Dim Size As Long = 0
        For Each item In fullfilesPath
            Dim fi As FileInfo = New FileInfo(item)
            Size = (Size + fi.Length)
        Next
        MsgBox(Size \ 1024 \ 1024 & " МБ (" & Size & "байт)")
а как узнать размер каждой папки находящейся в каталоге F:\1 ? и расположить их в listview с соритровкой от большей к меньшей?
0
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
04.04.2018, 12:50
a_lligator, Directory.GetDirectories Method
1
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 101
04.04.2018, 15:58  [ТС]
Orlangur1991, получил список всех папок в директории вот так (правда добавил пока в listbox):
VB.NET
1
2
3
4
  For Each Dir As String In System.IO.Directory.GetDirectories("F:\1\")
            Dim dirInfo As New System.IO.DirectoryInfo(Dir)
            ListBox1.Items.Add(dirInfo.Name)
        Next
теперь у меня есть 2 кусочка кода:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' размер папки
        Dim fullfilesPath() As String = Directory.GetFiles("F:\1\", "*.*", SearchOption.AllDirectories)
        Dim Size As Long = 0
        For Each item In fullfilesPath
            Dim fi As FileInfo = New FileInfo(item)
            Size = (Size + fi.Length)
        Next
        MsgBox(Size \ 1024 \ 1024 & " МБ (" & Size & "байт)")
    End Sub
 
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        For Each Dir As String In System.IO.Directory.GetDirectories("F:\1\") ' все папки в каталоге
            Dim dirInfo As New System.IO.DirectoryInfo(Dir)
            ListBox1.Items.Add(dirInfo.Name)
        Next
    End Sub
помогите их объединить под мою задачу. заранее спасибо
0
1716 / 1395 / 165
Регистрация: 25.07.2015
Сообщений: 2,552
04.04.2018, 16:13
Цитата Сообщение от a_lligator Посмотреть сообщение
помогите их объединить под мою задачу
Выведите в отдельную подпрограмму любой (или оба из представленных кодов) и используйте в любом месте программы.
VB.NET
1
2
3
4
5
6
Private Sub InListBox()
For Each Dir As String In System.IO.Directory.GetDirectories("F:\1\") ' все папки в каталоге
            Dim dirInfo As New System.IO.DirectoryInfo(Dir)
            ListBox1.Items.Add(dirInfo.Name)
        Next
End Sub
VB.NET
1
2
3
4
5
6
7
8
9
10
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' размер папки
        Dim fullfilesPath() As String = Directory.GetFiles("F:\1\", "*.*", SearchOption.AllDirectories)
        Dim Size As Long = 0
        For Each item In fullfilesPath
            Dim fi As FileInfo = New FileInfo(item)
            Size = (Size + fi.Length)
        Next
        MsgBox(Size \ 1024 \ 1024 & " МБ (" & Size & "байт)")
      InListBox()
 End Sub
Второй вариант
VB.NET
1
2
3
4
5
6
7
8
9
Private Sub LenghtFile()
  Dim fullfilesPath() As String = Directory.GetFiles("F:\1\", "*.*", SearchOption.AllDirectories)
        Dim Size As Long = 0
        For Each item In fullfilesPath
            Dim fi As FileInfo = New FileInfo(item)
            Size = (Size + fi.Length)
        Next
        MsgBox(Size \ 1024 \ 1024 & " МБ (" & Size & "байт)")
End Sub
VB.NET
1
2
3
4
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
  LenghtFile()
  InListBox()
End Sub
0
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
04.04.2018, 17:05
Лучший ответ Сообщение было отмечено a_lligator как решение

Решение

Для ListView
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each Dir As String In System.IO.Directory.GetDirectories("F:\1")
            Dim dirInfo As New System.IO.DirectoryInfo(Dir)
            Dim Size As Long = 0
            For Each file In dirInfo.GetFiles("*", IO.SearchOption.AllDirectories)
                Size += file.Length
            Next
            Dim itm As New ListViewItem({dirInfo.Name, Size \ 1024 \ 1024 & " МБ (" & Size & "байт)"})
            ListView1.Items.Add(itm)
        Next
        ListView1.Sorting = SortOrder.Descending
    End Sub
3
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 101
04.04.2018, 17:14  [ТС]
MrCrown, спасибо, как раз то что нужно
0
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
04.04.2018, 17:52
a_lligator, насчет сортировки не уверен (если честно, от балды написал), вроде правильно сортирует, потести хорошенько, возможно, придется писать свою процедуру сортировки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2018, 17:52
Помогаю со студенческими работами здесь

Получить список файлов и папок в ListView
День добрый! Это, наверное, уже крик души. Есть задание - создать FTP-клиент. До самого FTP ещё не добрался, а уже проблемы начались....

Получить список файлов и папок в подкаталоге
Здравствуйте как сделать см. тему ??? фалйы знаю FileInfo а вот каталоги как ?

Получить список папок в папке но не в подпапках
Здравствуйте. Как можно получить список имен папок и их количество в определенной папке но не в подпапках тоесть просто список папок...

Получить список файлов и папок в директории
Вот такой вопрос возник, допустим я хочу написать что то типа файлового менеджера, как мне получить текущий список файлов и папок в...

SFTP получить список файлов и папок раздельно
Помогите пожалуйста, как получить список файлов и папок раздельно для sftp если использовать ftp.listdir() то выдает данные и папок и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru