Ανάλυση γονικού φακέλου

0

Με το παρακάτω απόσπασμα κώδικα μπορείτε να καταχωρήσετε σε μία λίστα όλους τους υποφακέλους ενός αρχικού γονικού-φακέλου (τον ορίζετε εσείς). Μπορείτε να επεκτείνετε τον κώδικα ετσι ώστε να βρείτε το πλήθος φακέλων,αρχείων, συνολικό μεγέθος κτλ

using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using
System.IO;
namespace expand_folders

{
public partial class Form1 : Form

{
public Form1()

{InitializeComponent();

//ορισμός της λίστας δεδομένων
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() );

}

//εύρεση όλων των φακέλων που βρίσκονται μέσα στον φάκελο που ορίζεται στην μεταβλητή path

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 {

}

}


}

}

}

Blog Widget by LinkWithin

Γράψε ένα σχόλιο

© 2012 DigitalNews. All rights reserved.