PDA

View Full Version : نمایش تمامی دایرکتوری هایموجود در یک درایو



HidDeN_OutX.Exe
یک شنبه 10 شهریور 1392, 23:52 عصر
سلام دوستان خوبین ؟:متفکر:

منم خوبم مرسی ممنون!!:بامزه:

چطور میتونم تمامی دایرکتوری هایموجود در یک درایو

رو در برنامه مثلا در یه لیست باکس نمایش بدم ؟

یعنی تمامی انها نه مثلا دایرکتوری های موجود در این مسیر :

System.IO.Directory.GetDirectories(@"e:\");

ممنون

amir200h
یک شنبه 10 شهریور 1392, 23:58 عصر
foreach (string strFolder in System.IO.Directory.GetDirectories("C:\\"))
{
lstData.Items.Add(strFolder);
}

aliagamon
دوشنبه 11 شهریور 1392, 00:05 صبح
از یه تابع بازگشتی استفاده کن:


List<string> alldirslist = new List<string>();
void alldirs(string path)
{
foreach (string strFolder in System.IO.Directory.GetDirectories(path))
{
alldirslist.Add(strFolder);
alldirs(strFolder);
}

}

HidDeN_OutX.Exe
دوشنبه 11 شهریور 1392, 00:05 صبح
foreach (string strFolder in System.IO.Directory.GetDirectories("C:\\"))
{
lstData.Items.Add(strFolder);
}

مرسی دوسته من

اما این سورس همون سورس بالایی هست فقط در حلقه است

یعنی من میخوام کل دایرکتوری ها نمایش داده بشه .

اما این فقط دایرکتوری های موجود در درایو سی رونمایش میده نه بیشتر

من اون دایرکتوری های موجود در دایرکتوری های موجود در درایو سی رو میخوام یعنی همشون

مثلا این رو نمایش نمیده :

C:\Directory\Directory_1

مرسی ممنون از پاسختون

MohammadHadi2031
دوشنبه 11 شهریور 1392, 10:43 صبح
سلام

IEnumerable<string> Filenames =Directory.GetDirectories("d:\\");
string[] NewFilenames;
listBox1.Items.AddRange(Filenames.ToArray());
foreach (string item in Filenames)
{
NewFilenames = Directory.GetDirectories(item);
listBox1.Items.AddRange(NewFilenames);
Filenames=Filenames.Concat(NewFilenames);
}

m_ali_gho
دوشنبه 11 شهریور 1392, 12:00 عصر
سلام. این دستور
Directory.GetDirectories(@"C:\", "*.*", SearchOption.AllDirectories)
یه آرایه از نوع رشته برمیگردونه که آدرس تمام ساب فولدرهای موجود توی درایو c رو نگهداری میکنه. یعنی
string[] SubFolders=Directory.GetDirectories(@"C:\", "*.*", SearchOption.AllDirectories)