Sprache: C#
Mit dieser Funktion könnt ihr die [b]gesamte Dateigröße[/b] eines Ordners bestimmen.
Dabei wird der Ordner mit allen Unterordnern rekursiv durchlaufen und von allen gefundenen Datein die Länge addiert.
Sollte einder der Ordner/Dateien nicht zugreifbar sein, so wird mit einer Ausnahme abgebrochen.
Der Rückgabewert gibt die gesamtgröße aller Datein in Bytes an.
// DirectoryInfo in System.IO
static ulong GetDirectorySize(DirectoryInfo dir) {
ulong sum = 0;
// Die Summe der Datenlänge von Daten
// aus diesem Ordner
// Länge aller Dateien bestimmen
foreach (var file in dir.GetFiles()) {
// Dateilänge hinzufügen
sum += (ulong)file.Length;
}
// rekursiver Aufruf
foreach (var dir1 in dir.GetDirectories()) {
sum += GetDirectorySize(dir1);
}
return sum;
}
// DirectoryInfo in System.IO
static ulong GetDirectorySize(DirectoryInfo dir) {
ulong sum = 0;
// Die Summe der Datenlänge von Daten
// aus diesem Ordner
// Länge aller Dateien bestimmen
foreach (var file in dir.GetFiles()) {
// Dateilänge hinzufügen
sum += (ulong)file.Length;
}
// rekursiver Aufruf
foreach (var dir1 in dir.GetDirectories()) {
sum += GetDirectorySize(dir1);
}
return sum;
}
Alte URL:
/snippet/dateigroesse-eines-ordners-bestimmen/6972