PDA

View Full Version : پیدا کردن ساب دایرکتوری ها یا زیرپوشه ها در پارتیشن های مختلف با تایپ قسمتی از نام آنها



امیر مهرشاد
چهارشنبه 17 مهر 1392, 01:20 صبح
سلام مجدد بهمگی :)

راستش چطور میتونم درست مثل زمانی که از عبارت LIKE در SQL استفاده میکنم (با نوشتن قسمتی از کلمه مورد جستجو ، عبارات های مشابه نمایش داده میشوند)بتونم در یک مسیر خاص در هاردم نیز چنین کار مشابه ای نیز روی دایرکتوری ها یا زیر شاخه ها انجام بدم یعنی با تایپ قسمتی از اسم یک پوشه یا زیر پوشه تمامی موارد مشابه در یک مسیر خاص برام نمایش داده بشه حالا در گرید یا هر چیز دیگه فرقی نمیکنه

مثلا با تایپ عبارت A در خاصیت تکس چنج یک تکس باکس ؛تمام زیر شاخه های موجود در مسیر d:\barnamenevis
که با حرف A شروع شدن بنمایش در بیاد البته فقط اسم و مسیر پوشه ها یا زیر پوشه ها:متفکر:

متشکر

قصدم از اینکار سرعت بخشیدن به روند ذخیره فایل های لازم روی دستکتاپ به محل مورد نظر کاربر است که برای ذخیره هر بار نره پوشه d رو باز کنه و این کار هی تکرار بشه برنامه منتظر میمونه بمحض اینکه فایلی به دستکتاپ اضافه شد اونو به کاربر اعلام کنه و بعد از انتخاب مقصد توسط کاربر اون فایله رو با نام جدید منتقل کنه به محل جدید:لبخندساده:

Felony
چهارشنبه 17 مهر 1392, 04:28 صبح
متدها و توابع جستجو در ویندوز از Pattern ها پشتیبانی میکنن ، بالطبع خود #C هم از این قاعده پیروی میکند ، برای گرفتن لیست فایل ها از متد Direcotry.GetFiles استفاده میشه ، مثلا کد زیر رو در رویداد TextChnage یک textBox بنویسید :


listBox1.Items.Clear();
listBox1.Items.AddRange(Directory.GetFiles(@"D:\SomePath\", string.Format("{0}*", textBox1.Text), SearchOption.AllDirectories));

مشکلی که اینجا پیش میاد سرعت پایین این قبیل جستجو ها در عمل و در درایوهایی با تعداد فایل های زیاد هست ، مخصوصا اگر این درایوها Index Enabled نباشن ( پیش فرض نیستن ) ، نرم افزارهایی مثل Everything از لیست فایل های موجود در سیستم در زمان اولین اجرا یک بانک اطلاعاتی درست میکنن ( این بانک شامل نام فایل ، آدرس فایل ، تاریخ ساخت و ... هست ) و هر چند وقت یکبار یا بر اساس رویدادی خاص ( کپی / حذف / ساخت ) فایل این بانک اطلاعاتی رو به روز میکنن ، و برای جستجو از این بانک استفاده میکنن و با سلکت زدن روی اون خیلی سریع به جواب مورد نظر شما میرسن ، خلاصه میتونید این روش رو خودتون هم پیاده کنید .

امیر مهرشاد
چهارشنبه 17 مهر 1392, 11:10 صبح
دوست عزیز از پاسختون ممنون در حال حاظر با موبایل دارم پاسختونو مطالعه میکنم مشکلی بود دوباره همینجا مطرح می کنم

امیر مهرشاد
چهارشنبه 17 مهر 1392, 16:28 عصر
بله تست کردم طبق فرمایش شما سرعت پردازش برنامه فوق العاده پایین میاد اگه یه سیستم با مشخصات سخت افزاری پایین تری هم که طرف داشته باشه نور علی نور میشه تا موقعی که سیستم پردازش کنه کاربر چند تا فایل رو خودش بصورت دستی میتونه کپی کنه به محل جدید . در هر حال از پاسخ شما دوست عزیز دوباره تشکر میکنم اگر بغیر از درگیر شدن با مسائل بانک راه آسونتری برای اینکار هست یا بذهنتون رسید لطفا راهنمایی کنید

amin9750
شنبه 28 فروردین 1395, 09:48 صبح
سلام
راهنمایی در مورد جستجو یک شاخه در درایو های کامیپوتر
به عنوان مثال من میخوام نام شاخه ای که اسمش abc هست رو اولین اجرا در یک جا ذخیره کنم
امکانش هست راهنمایی کنید ؟