PDA

View Full Version : سوال: پیدا کردن پوشه های یک درایو



SlowCode
سه شنبه 16 آبان 1391, 18:57 عصر
سلام
چطوری تمام پوشه های موجود در یک درایو رو لیست کنم؟
حتی پوشه های داخل زیر شاخه ها.

محسن واژدی
سه شنبه 16 آبان 1391, 19:05 عصر
سلام علیکم
ضمیمه زیر را بررسی کنید (البته بدون فولدرهای مخفی و سیستمی)

موفق باشید

SlowCode
سه شنبه 16 آبان 1391, 20:11 عصر
ممنون آقای واژدی ولی میخوام با توابع api باشه. استفاده از کنترل به صلاحم نیست:لبخندساده:

محسن واژدی
سه شنبه 16 آبان 1391, 20:41 عصر
ممنون آقای واژدی ولی میخوام با توابع api باشه. استفاده از کنترل به صلاحم نیست:لبخندساده:
خواهش میکنم، همونطور که در pm هم عرض شد میتونیم از جستجوگر استفاده کنیم و نتایج را فیلتر کنیم (البته دراینصورت زمان پایان عملیات به مراتب بسیار بیشتر از Dir-List است به عبارتی سرعت خیلی کمتر است)

موفق باشید

SlowCode
سه شنبه 16 آبان 1391, 20:46 عصر
منظورتون از جستجوگر چیه؟ لطفا واضح تر بگین.
اگه ممکنه یه نمونه سورس هم بزارین.

محسن واژدی
سه شنبه 16 آبان 1391, 20:50 عصر
تاپیک زیر بررسی کنین:
http://barnamenevis.org/showthread.php?298542-جلوگیری-از-هنگ-برنامه-در-هنگام-جستجوی-فایل&p=1309433

oYaMaa
چهارشنبه 17 آبان 1391, 13:31 عصر
سلام علیکم
ضمیمه زیر را بررسی کنید (البته بدون فولدرهای مخفی و سیستمی)

موفق باشید
آقای واژدی میشه از همین روش علاوه بر لیست کردن فولدر ها، تمام فایل های موجود در یک درایو رو هم لیست کرد؟

SlowCode
چهارشنبه 17 آبان 1391, 17:46 عصر
سورس زیر رو ببینید.

محسن واژدی
چهارشنبه 17 آبان 1391, 18:33 عصر
آقای واژدی میشه از همین روش علاوه بر لیست کردن فولدر ها، تمام فایل های موجود در یک درایو رو هم لیست کرد؟
سلام علیکم
ضمیمه پست 2 را بیشتر برای لیست کردن فولدرها پیشنهاد میکنم برای یافتن فایل ها میتوانیم از توابع api استفاده کنیم (ضمیمه پست 8 که آقای محست 15 زحمتش را کشیدن) اگه بخواهیم همچنان از کنترل های وی بی استفاده کنیم میتوانیم از تابع Dir یا کنترل File-List استفاده کنیم

موفق باشید

مهرداد صفا
چهارشنبه 17 آبان 1391, 18:58 عصر
سلام
چطوری تمام پوشه های موجود در یک درایو رو لیست کنم؟
حتی پوشه های داخل زیر شاخه ها.
با سلام
به شیوه زیر هم میتوانید عمل کنید:


'in the name of god
'صل الله علی محمد و آله
Dim File As Object, MainDirectory As Object, FileSystem As Object
Set FileSystem = CreateObject("scripting.FileSystemObject")
Set MainDirectory = FileSystem.GetFolder(InputBox("enter the main directory path."))
For Each Folder In MainDirectory.SubFolders
Text1 = Text1 & Folder.Path & vbNewLine
For Each SubFolder In Folder.SubFolders
Text1 = Text1 & SubFolder.Path & vbNewLine
Text1 = Text1 & SubFolder.ParentFolder.Path & vbNewLine
For Each File In SubFolder.Files
Text1 = Text1 & File.Name & vbNewLine
Next File
Next SubFolder
Next Folder

oYaMaa
چهارشنبه 17 آبان 1391, 19:31 عصر
سورس زیر رو ببینید.
ممنون دوست عزیز، این سورس رو داشتم ولی اگر فرمت رو *.* قرار بدید، حالا به دلیل زیاد بودن فایل ها یا هرچی یه ارور به خط زیر توی همین سورس میده.مشکل از کجاست؟ و چطور بر طرف میشه؟
همچین اگر تعداد فایل ها در یک درایو خیلی زیاد باشه، این برنامه نمیتونه خوب عمل کنه و نصف بیشتره فایل ها رو لیست نمیکنه!
چاره چیه؟

volkswagen
چهارشنبه 17 آبان 1391, 19:56 عصر
یه سری اینجا بزنید ، ببنید جواب میده:

http://barnamenevis.org/showthread.php?191577-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D9%84%DB%8C%D8%B3%D8%AA-%D9%87%D9%85%D9%87-%D8%B2%DB%8C%D8%B1-%D9%BE%D9%88%D8%B4%D9%87-%D9%87%D8%A7&p=879328#post879328