نمایش ندادن فایلهای و فلدرهای مخفی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

نمایش ندادن فایلهای و فلدرهای مخفی

+1 امتیاز

همینطور که می بینید توی کد زیر تمام فایلها و فلدرهای یک مسیر نشون داده میشه حالا اگه بخوایم  فایلها و فلدر های مخفی رو نشون نده باید چکار کنیم؟

            string[] dir;
            dir = Directory.GetDirectories("c:\\");

            foreach (string s in dir)
            {
                Console.WriteLine(s);
            }

 

پس با کمک   alixw24 کدمون این میشه :

 

            string[] dir;    
            dir = Directory.GetDirectories("c:\\");

            foreach (string s in dir)
            {
                FileInfo f = new FileInfo(s);
                if (f.Attributes.HasFlag(FileAttributes.Hidden) == false )      
                    Console.WriteLine(s);
                      

           }

 

سوال شده خرداد 31, 1393  بوسیله ی daniyaltjm (امتیاز 840)   47 88 103
دوباره تگ گذاری شد تیر 16, 1393 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

از کلاس fileinfo و directoryinfo استفاده میکنیم و از نمایش موارد مخفی جلوگیری میکنیم

 

سلام نمونه سورس 

 

string [] list = Directory.GetFiles(@"c:\windows\");
            foreach(string i in list)
            {
                FileInfo f = new FileInfo(i);
                if(f.Attributes.HasFlag(FileAttributes.Hidden))
                {
                    Console.WriteLine("******************Hiden file ************");
                }
                else
                {
                    Console.WriteLine(i);
                }
            }
            Console.ReadKey();

 

پاسخ داده شده خرداد 31, 1393 بوسیله ی alixw24 (امتیاز 656)   2 5 13
انتخاب شد تیر 1, 1393 بوسیله ی daniyaltjm
خوب کد بالا رو درست کن. ممنون
:)) باشه الان دارم آپدیت میکنم تموم شد چشم
string [] list = Directory.GetFiles(@"d:\");
            foreach(string i in list)
            {
                FileInfo f = new FileInfo(i);
                if(f.Attributes == FileAttributes.Hidden)
                {
                    Console.WriteLine("******************Hiden file ************");
                }
                else
                {
                    Console.WriteLine(i);
                }
            }
ممنون کداتو توی پاسخ و تگ بزار لطفا که نمایشش بهتر باشه.
کدت امتحان کردم کار نکرد ! تغیرشم دادم بازم کار نکرد!!
این HasFlag یعنی چی؟
هرکدم از صفتهای یک فایل با یک flag مشخص میشه
البته کدت رو اگه این طوری مینوشتی قشنگ تر بود:
 string[] dir;
            dir = Directory.GetDirectories("c:\\");

            foreach (string s in dir)
            {
                FileInfo f = new FileInfo(s);
                if (f.Attributes.HasFlag(FileAttributes.Hidden) == false )      
                    Console.WriteLine(s);
                      
   
            }
میدونم منظورم خود کلمه HasFlag  هست مخفف چیه؟
...