Страница: 1 | 2 |
Вопрос: Узнать размер файла и папки
Добавлено: 28.04.07 10:28
Автор вопроса: ZXC
Собственно вот сам вопрос, как можно узнать размер файла и папки?
Ответы
Всего ответов: 18
Номер ответа: 1
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #1
Добавлено: 28.04.07 11:33
Юзай System.IO, там все что нужно.
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 28.04.07 12:17
размер файла — LOF, FileLen
Размер папки — не помню точно.. ладно, юзай System.IO
Номер ответа: 3
Автор ответа:
ZXC
Вопросов: 30
Ответов: 106
Профиль | | #3
Добавлено: 28.04.07 12:59
Хм размер файла узнал
System.IO.FileInfo
параметр Length, а вот с дерикторией не получается, в DirectoryInfo нет про размер не слова, щас пороюсь ещё, мож что найду, а пока мож кто знает скажите
Номер ответа: 4
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #4
Добавлено: 28.04.07 13:08
Только перебирать и суммировать размеры файлов, находящихся в необходимой директории.
Номер ответа: 5
Автор ответа:
Алексей
black admin
ICQ: 261779681
Вопросов: 87
Ответов: 633
Web-сайт:
Профиль | | #5
Добавлено: 28.04.07 13:11
циклом
Номер ответа: 6
Автор ответа:
ZXC
Вопросов: 30
Ответов: 106
Профиль | | #6
Добавлено: 28.04.07 13:13
Неужели в .NET нету простого решения? только циклом?
Номер ответа: 7
Автор ответа:
ZXC
Вопросов: 30
Ответов: 106
Профиль | | #7
Добавлено: 28.04.07 13:24
Ладно учитывая мой предыдущий пост, там был ответ Brand'а вот готове решение как получиться размер директории + поддиректории
Dim sizefiles As Long
Dim DI As New DirectoryInfo(directoryName)
For Each FI As FileInfo In DI.GetFiles()
sizefiles = sizefiles + FI.Length
Next
For Each SubDI As DirectoryInfo In DI.GetDirectories
size(SubDI.FullName)
Next
Номер ответа: 8
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #8
Добавлено: 28.04.07 14:10
Цикл - это простое решение. Куда уж проще?
Номер ответа: 9
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #9
Добавлено: 28.04.07 16:51
2 ZXC - приведи больше кода, судя по всему у тебя он будет работать неверно.
Номер ответа: 10
Автор ответа:
Сашок
ICQ: 387093431
Вопросов: 1
Ответов: 70
Профиль | | #10
Добавлено: 28.04.07 19:18
Не парь мозги - лучше всего используй старый FSO
Номер ответа: 11
Автор ответа:
Сашок
ICQ: 387093431
Вопросов: 1
Ответов: 70
Профиль | | #11
Добавлено: 28.04.07 19:29
Если захочешь все-таки юзать FSO делай так:
через Project->Add Reference (вкладка COM) выбирай Microsoft Scripting Runtime.
Далее дописуй Imports Scripting.
Dim FSO As New FileSystemObjectClass()
FSO.GetFolder("C:\Windows".Size
Конечно это не .NET код, но все-же кое-кому кое-когда это здорово помогает
Номер ответа: 12
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #12
Добавлено: 28.04.07 22:46
On Error Resume Next
If filepath = "" Then
MsgBox "Ви повині виділити,для початку,файл", vbCritical
Else
a = filepath
MsgBox DirUsedBytes
File1.Refresh
filepath = ""
End If
End Sub
Function DirUsedBytes(ByVal dirName As String) As Long
Dim FileName As String
Dim FileSize As Currency
FileSize = 0
FileName = filepath
FileSize = FileSize + FileLen(FileName)
DirUsedBytes = FileSize
End Function
Ето для файла
Dim FileName As String
Dim FileSize As Currency
If Right$(dirName, 1) <> "\" Then
dirName = dirName & "\"
End If
FileSize = 0
FileName = Dir$(dirName & "*.*"
Do While FileName <> ""
FileSize = FileSize + FileLen(dirName & FileName)
FileName = Dir$
Loop
DirUsedByteson = FileSize
End Function
Private Sub Command2_Click()
MsgBox DirUsedByteson(Dir1.Path)
End Sub
Номер ответа: 13
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #13
Добавлено: 28.04.07 23:19
через Project->Add Reference (вкладка COM) выбирай Microsoft Scripting Runtime.
Далее дописуй Imports Scripting.
Dim FSO As New FileSystemObjectClass()
FSO.GetFolder("C:\Windows".Size
Конечно это не .NET код, но все-же кое-кому кое-когда это здорово помогает
Если болит голова.... гильотина - это конечно не аспирин, но все-же кое-кому кое-когда это здорово помогает
Номер ответа: 14
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #14
Добавлено: 28.04.07 23:24
Юзай System.IO.FileInfo.
Для папок - суммируй размер всех файлов
Для перехода по дочерним папкам используй рекурсию
Номер ответа: 15
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #15
Добавлено: 28.04.07 23:59
тихо ребята, тут особо тяжелый случай. Вот смотрите:
2 Docal, знаешь ли ты, чем отличается VB.NET и VB6? Хотябы примерно, хотябы теоретически... Я уже не раз замечал подобное за тобой...