View Full Version : بدست آوردن حجم یک پوشه
xrezax
شنبه 12 اردیبهشت 1388, 16:29 عصر
دوستان من می خوام یه برنامه باشه که یک پوشه بسازه و توش فایل txt بندازه و وقتی حجمش مثلاً شد 1 مگ یک پوشه دیگه باز کنه و باقی رو توی پوشه بعدی بریزی . همینجو تا آخر.
کلاَ چطور میشه حجم یک فولدر را بدست آورد؟
ممنون میشم با پروژه های وی بی توضیح بدین :بوس:
xxxxx_xxxxx
یک شنبه 13 اردیبهشت 1388, 01:33 صبح
با تابع CreateFile و FileCopy از فايل هاتون كپي بگيرين. براي بدست آوردن هندل فايل ها.
بعد با تابع GetFileSize سايز تك تك فايل ها رو بدست بياريد و جمع بزنيد. و در آخر كپي هايي كه گرفتيد رو پاك كنيد.
نميدونم روش ديگه اي هست يا نه...:متفکر:
Mbt925
یک شنبه 13 اردیبهشت 1388, 16:39 عصر
راه پايه اي براي اين كار اينه كه حجم تك تك فايل هايي كه توي پوشه مربوطه قرار دارن رو بدست بيارين و باهم جمع كنيد.
البته اين كار بايد بصورت بازگشتي پياده سازي بشه،چون ممكنه توي پوشه مربوطه،پوشه ي ديگه اي هم وجود داشته باشه.
اين روش در اينجا پياده سازي شده:
http://www.xtremevbtalk.com/archive/index.php/t-104904.htmlولي يه راه خيلي ساده براي اين منظور استفاده از كتابخانه Microsoft Scripting Runtime هست.
از بخش رفرنس ها،تيك اين گزينه رو بزنيد و از كد زير استفاده كنيد:
Dim a As New FileSystemObject
Dim objfolder As Folder
Set objfolder = a.GetFolder("C:\Documents and Settings\Administrator\Desktop\ProducerConsumerQue ue")
MsgBox objfolder.Size
xrezax
پنج شنبه 17 اردیبهشت 1388, 09:45 صبح
دوستان عزیز میشه با پروژه های وی بی برام توضیح بدین . ممنون میشم
masoud.ramezani
پنج شنبه 17 اردیبهشت 1388, 10:57 صبح
سلام
یه foreach روی تمام فایلهای درون folder بزن و دونه دونه حجم اونا رو جمع کن.
Mbt925
پنج شنبه 17 اردیبهشت 1388, 16:19 عصر
نمونه زیر رو دانلود کنید:
http://barnamenevis.org/forum/showpost.php?p=717957&postcount=330
Babak.Hassanpour
پنج شنبه 17 اردیبهشت 1388, 21:31 عصر
Private Sub Form_Load()
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("c:\")
SumFiles = f.Size
MsgBox Round(SumFiles / 1024, 3) & " KB" & vbCrLf & Round(SumFiles / (1024 ^ 2), 3) & " MB" & vbCrLf & Round(SumFiles / (1024 ^ 3), 3) & " GB"
End Sub
این روش، از روش های مبتنی بر جستجوی برگشتی(recursive search) و جمع زدن مجموع سایز فایل های پوشه و زیر پوشه ها ، سریع تره.می تونید امتحان کنید .
xrezax
جمعه 18 اردیبهشت 1388, 09:57 صبح
لطفاً با پروژه های وی بی انجام بدین ممنون میشم.
xrezax
جمعه 18 اردیبهشت 1388, 11:49 صبح
فکر نکنم کسی سوالمو فهمید !!!!
دوستان من می خوام یه برنامه باشه که یک پوشه بسازه و توش فایل txt بندازه و وقتی حجمش مثلاً شد 1 مگ یک پوشه دیگه باز کنه و باقی رو توی پوشه بعدی بریزی . همینجو تا آخر.
کلاَ چطور میشه حجم یک فولدر را بدست آورد؟
ممنون میشم با پروژه های وی بی توضیح بدین :بوس:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.