ورود

View Full Version : سوال: گرفتن لیست همه زیر پوشه ها



shedayat
دوشنبه 02 آذر 1388, 10:01 صبح
سلام.
من می خواستم برنامه ای بنویسم که لیست همه زیر پوشه های موجود در یک پوشه رو برام بگیره. آیا تابع ای پی آیی وجود دارد که این کار رو انجام بده؟ ممنون.

Netsky
سه شنبه 03 آذر 1388, 17:49 عصر
سلام .
میتونی از کنترل DirListBox خود ویبی استفاده کنی .
بای ...................

shedayat
سه شنبه 03 آذر 1388, 18:27 عصر
سلام .
میتونی از کنترل DirListBox خود ویبی استفاده کنی .
بای ...................

ولی این کنترل برای پوشه ی تودر تو کار آیی نداره.

xxxxx_xxxxx
سه شنبه 03 آذر 1388, 19:00 عصر
از FSO استفاده کنید.(File System Object)
جستجو کنید نمونه ها و آموزش های خوبی پیدا می کنید.

.:KeihanCPU:.
سه شنبه 03 آذر 1388, 20:54 عصر
از تابع Dir هم میتونید استفاده کنید
کار باهاش خیلی راحته

shedayat
سه شنبه 03 آذر 1388, 21:58 عصر
از FSO استفاده کنید.(File System Object)
جستجو کنید نمونه ها و آموزش های خوبی پیدا می کنید.

راستش من جستجو کردم مطلب مورد نطرم رو پیدا نکردم. اگه می شه نمونه کدش رو اینجا قرار بدین.

shedayat
سه شنبه 03 آذر 1388, 22:00 عصر
از تابع Dir هم میتونید استفاده کنید
کار باهاش خیلی راحته

اگه اشتباه نکنم تابع Dir کارش اینه که بررسی می کنه فایلی وجود داره یا نه؟ من فکر نکنم ربطی به سوال من داشته باشه!

shedayat
سه شنبه 10 آذر 1388, 21:13 عصر
یعنی کسی نمی دونه؟

.:KeihanCPU:.
سه شنبه 10 آذر 1388, 22:03 عصر
اگه اشتباه نکنم تابع Dir کارش اینه که بررسی می کنه فایلی وجود داره یا نه؟ من فکر نکنم ربطی به سوال من داشته باشه!

Myfile = Dir$("C:\", vbDirectory)
دقیقا یادم نیست ولی مطمئنا با این تابع میتونید به مقصودتون برسید،قبلا ازش استفاده کردم
اینم یه آموزش مختصر (http://www.4shared.com/file/31374455/c8c01fdd/Visual_Basic_6.html)

یه آموزش کامل هم از این تابع بود که فکر کنم عنوانش کار با فایل بود که من پیداش نکردم

ƒxmahdi
چهارشنبه 11 آذر 1388, 21:51 عصر
پیدا کردن تعداد فولدر های داخل یک مسیر مشخص !
البته ابن اون سورسی نیست که شما می خواهید ولی به همین ترتیبی که من نوشتم شما می توانید تعداد تمام فولدر های یک مسیر مشخص را پیدا کنید فقط یخورده کار می بره که من وقتشو نداشتم !
شما سعی کن اگه نتونستید براتون ادامشو می نویسم !

یه چیز دیگه : بعد از پیدا کردن اولین فولدر مسیر dir به اون آدرس تغییر می کنه و آدرس قبلی در آرایه ذخیره می شه برای برگشت !

موفق باش !



Dim N As Integer
Dir1.Refresh
Dir1.Path = "c:\"
If Dir1.ListCount > 0 Then
Do While Dir1.ListIndex < Dir1.ListCount - 1
x = Dir1.ListIndex
Dir1.ListIndex = x + 1
N = N + 1
Loop
MsgBox "There Are " & N & " Folders In This Path"
End If

shedayat
پنج شنبه 12 آذر 1388, 21:43 عصر
پیدا کردن تعداد فولدر های داخل یک مسیر مشخص !
البته ابن اون سورسی نیست که شما می خواهید ولی به همین ترتیبی که من نوشتم شما می توانید تعداد تمام فولدر های یک مسیر مشخص را پیدا کنید فقط یخورده کار می بره که من وقتشو نداشتم !
شما سعی کن اگه نتونستید براتون ادامشو می نویسم !

یه چیز دیگه : بعد از پیدا کردن اولین فولدر مسیر dir به اون آدرس تغییر می کنه و آدرس قبلی در آرایه ذخیره می شه برای برگشت !

موفق باش !



Dim N As Integer
Dir1.Refresh
Dir1.Path = "c:\"
If Dir1.ListCount > 0 Then
Do While Dir1.ListIndex < Dir1.ListCount - 1
x = Dir1.ListIndex
Dir1.ListIndex = x + 1
N = N + 1
Loop
MsgBox "There Are " & N & " Folders In This Path"
End If


از راهنماییت ممنون. ولی این کد تعداد زیر پوشه ها (Sub Folder) رو نمی شماره.

ƒxmahdi
جمعه 13 آذر 1388, 16:50 عصر
از راهنماییت ممنون. ولی این کد تعداد زیر پوشه ها (Sub Folder) رو نمی شماره.


نتونستید کد را پیاده سازی کنید !

به این خط دقت کنید !




Dir1.Path = "c:\"




نمونه برنامه با همین کد Sub Folders

shedayat
شنبه 14 آذر 1388, 16:22 عصر
از راهنماییت ممنون. ولی این کد تعداد زیر پوشه ها (Sub Folder) رو نمی شماره.


نتونستید کد را پیاده سازی کنید !

به این خط دقت کنید !




Dir1.Path = "c:\"




نمونه برنامه با همین کد Sub Folders


دوست عزیز فکر کنم منظورم رو متوجه نشدید.:ناراحت: توی همین مثالی خودت زدی فقط تعداد پوشه هایی که ما می بینیم رو می گه و زیر پوشه ها رو نمی شماره یعنی توی مثالی که شما زدید فقط 3 تا پوشه وجود داشت؟ (نه) در حالی که کدی رو که شما نوشتین زیر پوشه ها رو نمی شماره.
امیدوارم که منظورم رو متوجه شده باشید. ببخشید که سرت رو درد آووردم. :خجالت:

vbhamed
شنبه 14 آذر 1388, 17:24 عصر
سلام

اينم جواب شما :

ƒxmahdi
یک شنبه 15 آذر 1388, 09:29 صبح
پست اول من !


نوشته شده توسط ƒxmahdi [/URL] http://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gifhttp://barnamenevis.org/forum/images/buttons/viewpost.gif
پیدا کردن تعداد فولدر های داخل یک مسیر مشخص !
البته ابن اون سورسی نیست که شما می خواهید ولی به همین ترتیبی که من نوشتم شما می توانید تعداد تمام فولدر های یک مسیر مشخص را پیدا کنید فقط یخورده کار می بره که من وقتشو نداشتم !






نوشته شده توسط shedayat [URL="http://barnamenevis.org/forum/showthread.php?p=861349#post861349"]http://barnamenevis.org/forum/images/buttons/viewpost.gif (http://barnamenevis.org/forum/showthread.php?p=861349#post861349)
دوست عزیز فکر کنم منظورم رو متوجه نشدید.:ناراحت: توی همین مثالی خودت زدی فقط تعداد پوشه هایی که ما می بینیم رو می گه


سورس دوستمون کامله | موفق باش !

parselearn
چهارشنبه 18 آذر 1388, 16:20 عصر
اين تاپيك به نتيجه رسيده
اما خب اينم برنامه اي براي گزارش گيري از كليه فايلها و پوشه ها

kh-hamid
سه شنبه 24 آذر 1388, 12:02 عصر
سلام
هر دو برنامه خوبند ولی ایراد دارند .
مثلا پوشه سیستم 32 من 195 فولدر داره ولی برنامه دوستمون وی بی حامد 100 تا و دوست دیگرمون 150 تا نشون میده .
؟؟؟؟؟؟؟؟؟

vbhamed
سه شنبه 24 آذر 1388, 23:16 عصر
سلام
هر دو برنامه خوبند ولی ایراد دارند .
مثلا پوشه سیستم 32 من 195 فولدر داره ولی برنامه دوستمون وی بی حامد 100 تا و دوست دیگرمون 150 تا نشون میده .
؟؟؟؟؟؟؟؟؟

سلام

مشكلي خاصي نيست
اون پوشه هاي شما چون مخفي يا سيستمي بودند نشون نمي داد
اين برنامه اصلاح شده :

volkswagen
جمعه 11 دی 1388, 14:59 عصر
سلام-یک دکمه بزارید و کد زیر را توش کپی کنید.

Function search(path)

'On Error Resume Next
Set fso = CreateObject("scripting.filesystemobject")
Set Folder = fso.GetFolder(path)








Set SubFolders = Folder.SubFolders
For Each subfolder In SubFolders
DoEvents
search subfolder.path
MsgBox subfolder
Next
End Function
Private Sub Command1_Click()
Call search("c:\")
End Sub

volkswagen
پنج شنبه 14 مرداد 1389, 01:07 صبح
با کدی که در بالا نوشتم ک فایل های یک پوشه یا درایو (فرقی نمیکنه)نمایش داده می شه.حالا برای پیدا کردن یه فایل مشخص می تونید مقداری که نشون داده میشه را با فایل مورد نظر مقایسه کنید که آیا همون فایلی هست که شما می خواهید یا نه

ali190
پنج شنبه 14 مرداد 1389, 10:30 صبح
سلام

مشكلي خاصي نيست
اون پوشه هاي شما چون مخفي يا سيستمي بودند نشون نمي داد
اين برنامه اصلاح شده :
باسلام
با چه location ای میتوان این جستجو رو یک دفع برای تمام درایوهای موجود در سیستم انجام داد یا در ایده آل ترین حالت لیست تمام درایوهای را در یک listbox ای که خاصیت multi select آن فعال است را داشت و انتخاب درایوهای مورد نظر این عملیات جستجو فقط بر روی آن درایوها انجام شود.
ممنون