تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود يحسب حجم الملفات
#1
الســلام عليكم ورحمة الله وبركاته 

محتاج كود يحسب حجم كل المجلدات الموجوده في مسـار ثابت ويعطيني المسـاحه الشـاغره والمتوفره
الرد }}}}
تم الشكر بواسطة:
#2
كود :
  Dim infoReader As System.IO.FileInfo
       infoReader = My.Computer.FileSystem.GetFileInfo("C:\Users\DOL\Music\")
       MsgBox("File is " & infoReader.Length & " bytes.")
 من يسـاعدني في توضيح الكود
الرد }}}}
تم الشكر بواسطة:
#3
تفضل اخى
كود :
       Dim CalculatedSize As Decimal
       Dim TheSize As Long = Long.Parse(My.Computer.FileSystem.GetFileInfo("E:\Music\New folder\Avril Lavigne - I Love You [Goodbye lullaby] - YouTube.mp3").Length)
       Dim SizeType As String = "B"
       If TheSize < 1024 Then
           CalculatedSize = TheSize

       ElseIf TheSize > 1024 AndAlso TheSize < (1024 ^ 2) Then 'KB
           CalculatedSize = Math.Round((TheSize / 1024), 2)
           SizeType = "KB"

       ElseIf TheSize > (1024 ^ 2) AndAlso TheSize < (1024 ^ 3) Then 'MB
           CalculatedSize = Math.Round((TheSize / (1024 ^ 2)), 2)
           SizeType = "MB"

       ElseIf TheSize > (1024 ^ 3) AndAlso TheSize < (1024 ^ 4) Then 'GB
           CalculatedSize = Math.Round((TheSize / (1024 ^ 3)), 2)
           SizeType = "GB"

       ElseIf TheSize > (1024 ^ 4) Then 'TB
           CalculatedSize = Math.Round((TheSize / (1024 ^ 4)), 2)
           SizeType = "TB"

       End If
       MessageBox.Show("File size is: " & CalculatedSize.ToString & " " & SizeType, "File size", MessageBoxButtons.OK, MessageBoxIcon.Information)
الرد }}}}
تم الشكر بواسطة:
#4
شكراً لتفاعلكم
أخوي أسامه المجلد اللي أبي أقيس حجمه داخله مجلدات هل الكود يعمل مع يتناسب معي ..؟

كود :
Dim CalculatedSize As Decimal
       Dim TheSize As Long = Long.Parse(My.Computer.FileSystem.GetFileInfo("C:\Music\").Length)
       "Dim SizeType As String = "B
كود :
       If TheSize < 1024 Then
المسـار المجلدات الموجوده داخل Music 
لما أضع المسـار بهذه الطريقه يعطيني خطأ
الرد }}}}
تم الشكر بواسطة:
#5
(01-12-15, 09:00 PM)adel27 كتب : شكراً لتفاعلكم
أخوي أسامه المجلد اللي أبي أقيس حجمه داخله مجلدات هل الكود يعمل مع يتناسب معي ..؟

كود :
Dim CalculatedSize As Decimal
       Dim TheSize As Long = Long.Parse(My.Computer.FileSystem.GetFileInfo("C:\Music\").Length)
       "Dim SizeType As String = "B
كود :
       If TheSize < 1024 Then
المسـار المجلدات الموجوده داخل Music 
لما أضع المسـار بهذه الطريقه يعطيني خطأ

هل تريد قياس حجم المجلد نفسة ام الملفات التى بى المجلد ؟

اذا كنت تريد قياس حجم المجلد نفسةاستخدم هذا الكود

كود :
   Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
       Dim CalculatedSize As Decimal
       Dim SizeType As String = "B"
       Dim TheSize As Long = Long.Parse(DirectorySize("E:\Music\NewFolder", True))

       If TheSize < 1024 Then
           CalculatedSize = TheSize

       ElseIf TheSize > 1024 AndAlso TheSize < (1024 ^ 2) Then 'KB
           CalculatedSize = Math.Round((TheSize / 1024), 2)
           SizeType = "KB"

       ElseIf TheSize > (1024 ^ 2) AndAlso TheSize < (1024 ^ 3) Then 'MB
           CalculatedSize = Math.Round((TheSize / (1024 ^ 2)), 2)
           SizeType = "MB"

       ElseIf TheSize > (1024 ^ 3) AndAlso TheSize < (1024 ^ 4) Then 'GB
           CalculatedSize = Math.Round((TheSize / (1024 ^ 3)), 2)
           SizeType = "GB"

       ElseIf TheSize > (1024 ^ 4) Then 'TB
           CalculatedSize = Math.Round((TheSize / (1024 ^ 4)), 2)
           SizeType = "TB"

       End If
       MessageBox.Show("File size is: " & CalculatedSize.ToString & " " & SizeType, "File size", MessageBoxButtons.OK, MessageBoxIcon.Information)
   End Sub

   Private Overloads Function DirectorySize(ByVal sPath As String, ByVal bRecursive As Boolean) As Long
       Dim lngNumberOfDirectories As Long = 0
       Dim Size As Long = 0

       Try
           Dim fil As FileInfo
           Dim diDir As New DirectoryInfo(sPath)

           For Each fil In diDir.GetFiles()
               Size += fil.Length
           Next fil

           If bRecursive = True Then
               Dim diSubDir As DirectoryInfo
               For Each diSubDir In diDir.GetDirectories()
                   Size += DirectorySize(diSubDir.FullName, True)
                   lngNumberOfDirectories += 1
               Next

           End If

           Return Size

       Catch fex As System.IO.FileNotFoundException

           ' File not found. Take no action

       Catch ex As Exception
           ' Another error occurred
           Return 0

       End Try
   End Function
الرد }}}}
تم الشكر بواسطة:
#6
هو مجلد داخله مجلدات أبي أقيس مساحة جميع المجلدات الداخليه 
في رساله واحده
الرد }}}}
تم الشكر بواسطة:
#7
هاد الكود بيقيس مساحة جميع المجلدات يلي بداخل المجلد المحدد
كود :
   Shared Function GetDirectorySize(ByVal directory As String) As Long
       Dim TotalSize As Long = 0
       For Each s As String In IO.Directory.GetFiles(directory, "*.*", IO.SearchOption.AllDirectories)
           TotalSize += New IO.FileInfo(s).Length
       Next
       Return TotalSize
   End Function

وممكن بسطر مختصر
كود :
Dim directory As String = "C:\folder"
Dim directorySize As Long = (From s In IO.Directory.GetFiles(directory, "*.*", IO.SearchOption.AllDirectories) Select New IO.FileInfo(s).Length).Sum
أو
كود :
Dim directory As String = "C:\folder"
Dim directorySize As Long = IO.Directory.GetFiles(directory, "*.*", IO.SearchOption.AllDirectories).Sum(Function(s) New IO.FileInfo(s).Length)
الرد }}}}
تم الشكر بواسطة:
#8
(01-12-15, 11:24 PM)adel27 كتب : هو مجلد داخله مجلدات أبي أقيس مساحة جميع المجلدات الداخليه 
في رساله واحده

تفضل
PHP كود :
Dim fsize As Long 0
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        Dim opn 
As New FolderBrowserDialog
        If opn
.ShowDialog Windows.Forms.DialogResult.OK Then
            fsize 
0
            getSize
(opn.SelectedPath)

 
           MsgBox(fsize.ToString " bytes")
 
           MsgBox(Format(fsize 1024"#.000") & " KB")
 
           MsgBox(Format(fsize 1048576"#.000") & " MB")
 
       End If

 
   End Sub
    Sub getSize
(ByVal path_ As String)
 
       For Each file As String In My.Computer.FileSystem.GetFiles(path_)
 
           Dim finnfo As New System.IO.FileInfo(file)
 
           fsize fsize finnfo.Length
        Next
        For Each file 
As String In My.Computer.FileSystem.GetDirectories(path_)
 
           getSize(file)
 
       Next
    End Sub 
الرد }}}}
تم الشكر بواسطة: hamada558
#9
ألف شكـر على التفــاعل يا أصدقائي
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] ضغط الملفات وجعلها بصيغة dll عبدالرحمن المكاوي 2 80 09-10-16, 02:44 PM
آخر رد: عبدالرحمن المكاوي
  حماية الملفات makky 5 168 02-09-16, 12:19 AM
آخر رد: silverlight
  ماهو تركيب الملفات التنفيذية PE File Format LoveVb 6 264 28-08-16, 08:29 PM
آخر رد: LoveVb
  الملفات على الأجهزة الأخرى Anas gafer 4 139 01-08-16, 10:59 AM
آخر رد: أبوبكر سويدان
  عملية نسخ الملفات لمسارات ذوات مستخدمين مختلفين طالب 22 3 112 01-08-16, 05:33 AM
آخر رد: طالب 22
  [VB.NET] تشفير الملفات النصىية txt yasob 1 147 29-07-16, 03:51 AM
آخر رد: سعود
  [سؤال] برنامج لتشغيل الملفات الصوتية مدحت رمضان 2 216 24-01-16, 11:02 PM
آخر رد: hassan
  [VB.NET] محتاج مساعده في برنامج لتشغيل الملفات الصوتية مدحت رمضان 2 245 23-01-16, 09:49 AM
آخر رد: مدحت رمضان
  [VB.NET] سؤال عن الملفات المحملة عن طريق الويب بروسر محمد اسماعيل 0 201 06-11-15, 07:13 PM
آخر رد: محمد اسماعيل
Star [سؤال] أحتاج المساعده في برنامجي ضغط الملفات adel27 3 492 26-10-15, 10:25 AM
آخر رد: abulayth

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم