نقل قول: کار با system io
نقل قول:
نوشته شده توسط
amirrr3
اولا اینکه آقای مدیر سایت واسه چی تاپیک منو حذف می کنی
اگه می خوای حذف کنی دلیلش رو هم تو پیام واسم بفرست که حداقل بدونم چرا
درضمن من این بخش رو گشتم و جایی نبود واسه پرسش ها. پس مشکل تاپیک چیه که حذفش کردی (یه چیزی یاد گرفتید حالا)
سوال من این بود که وقتی با این کد می خوام مثلا یه درایو رو بگردم
با درود
string[] str = Directory.GetFiles(@"d:\", "*.txt", SearchOption.AllDirectories);
وقتی که به فولدرهای سیستمی می رسه (مثل Recycle.bin) برنامه دچار باگ میشه و گیر میکنه
حالا من باید چیکار کنم که دیگه این مشکل پیش نیاد؟؟؟؟
هدف مدیران تالار سعی در بهبود سایت و راحتی کاربران این تالار را دارند پس قصد و نیتی در کار نیست و یا با یک شخص مجازی دشمنی ندارند بارها شده هست پستهای مرا هم پاک کرده اند بعد خودم متوجه شده ام که اشتباه از من بوده و مطابق با قوانین تالار پیش نرفته ام
مطمعن باشید اینار هم پست شما را دلیت خواهند کرد چراکه سرفصل سوالتان با نوع ومتن سوالتان تفاوت دارد
اما پاسخ سوالتان
این کد شما
d:\", "*.txt"
هرگز Recycle.bin را سرچ نخواهد کرد
این یک نمونه
Directory.GetFiles(path, "*.*", *.Bin",*.Txt",SearchOption.AllDirectories)
.Where(f => set.Contains(
new FileInfo(f).Extension,
StringComparer.OrdinalIgnoreCase));
نقل قول: کار با system io
آقا مرسی
ولی این کدی که شما نوشتی ، جز خط اولش بقیش رو نفهمیدم
میشه یه توضیحی بدید لطفا (تا قبل از اینکه این تاپیک دیلیت بشه، آخه من زیاد وقت ندارم)
نقل قول: کار با system io
با سلام.
اول اینکه عنوانی که انتخاب کردید فقط به System.IO اشاره می کند در حالی که System.IO بخشی از .net است که خود شامل اجزا و کلاسهای مختلف و مباحث گوناگون است. عنوان شما باید گویای مشکل و یا موضوع مورد بحث تاپیک باشد و از طرفی آنقدر کلی نباشد که موارد گوناگون خارج از بحث تاپیک را هم تحت پوشش قرار دهد، فکر می کنم در غیر این صورت عنوان "مشکل در برنامه C#" عنوان مناسبی برای اکثر تاپیکها بود که جز سردرگمی نتیجه ای نداشت.
می توانید در یک حلقه تک تک پوشه های اصلی را گرفته و فقط پوشه هایی که سیستمی نیستند را جستجو کنید:
List<string> files=new List<string>();
string path="e:";
foreach (string folder in Directory.GetDirectories(path))
{
//if you want to get no error uncomment this line to skip system directories.
// if((new DirectoryInfo(folder)).Attributes.HasFlag(FileAttr ibutes.System))
// continue;
try
{
files.AddRange(Directory.GetFiles(folder, "*", SearchOption.AllDirectories));
}
catch
{
MessageBox.Show("access to path " + folder + " is not allowed!", "error",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
files.AddRange(Directory.GetFiles(path));
نقل قول: کار با system io
از try استفاده کن
بی دردسر