Με το παρακάτω απόσπασμα κώδικα μπορείτε να καταχωρήσετε σε μία λίστα όλους τους υποφακέλους ενός αρχικού γονικού-φακέλου (τον ορίζετε εσείς). Μπορείτε να επεκτείνετε τον κώδικα ετσι ώστε να βρείτε το πλήθος φακέλων,αρχείων, συνολικό μεγέθος κτλ
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
{
public partial class Form1 : Form
{
public Form1()
{
//ορισμός της λίστας δεδομένων
List<string> lst = new List<string>();
private void expd_Click(object sender, EventArgs e)
{
//καθαρισμός τις λίσταs (listbox1)
listBox1.Items.Clear();
//ανάλυση του root c:\ στους υποφακέλους του
run_expd(“c:\\”);
//προσθήκη των αποτελεσμάτων στην listbox1
listBox1.Items.AddRange(lst.ToArray() );
}
private void run_expd(string path)
{
//έλεγχος εάν το όρισμα path είναι φάκελος
if (System.IO.Directory.Exists(path))
{
lst.Add(path);
DirectoryInfo rd = new DirectoryInfo(path);
//έλεγχος για την πρόσβαση των φακέλων
try
{
//διέτρεξε τους φακέλους που βρίσκονται μέσα στον τρέχον φάκελο
foreach (DirectoryInfo d in rd.GetDirectories())
{
//για κάθε φάκελο που διατρέχεις βρές όλους τους υποφακέλους που περιέχει και καταχώρησε τους στην λίστα lst (αναδρομικά)
run_expd(d.FullName);
}
}
catch
}
}
}
}



