Feedback

Dateigröße eines Ordners bestimmen

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;
}