Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1840 | Besucher online: 77
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Ordnergröße ermitteln


Autor: v.wochnik
Sprache: C#
Bewertung:
6.52 (5 votes)
Anzahl der Aufrufe: 13680
  
Kick it on dotnet-kicks.de  

Beschreibung:

Mit diesem Snippet ist es möglich, die Größe eines Ordners mit unterordnern zu ermitteln.

Abgelegt unter: Datei, Windows, Dateisystem, FileSystem, Ordner, Rekursiv, SubDirectories, Dir, Sub.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.IO;

namespace ViperBytes.IO
{
    /// <summary>
    /// Directory size class with recursive sub directory inclusion
    /// 
    /// (c) Copyright Vincent Wochnik 2007
    /// </summary>
    class DirectorySize
    {
        /// <summary>
        /// Returns the size of a directory
        /// </summary>
        /// <param name="path">Path to directory</param>
        /// <param name="includeSubDirectories">Specifyes, wheather sub directories are included</param>
        /// <returns>Directory size</returns>
        public static long GetDirectorySize(string path, bool includeSubDirectories)
        {
            long size = 0;

            // get sub directories (recursive)
            if (includeSubDirectories)
            {
                try
                {
                    string[] subDirectories = Directory.GetDirectories(path);
                    foreach (string subDirectory in subDirectories)
                        size += GetDirectorySize(subDirectory, includeSubDirectories);
                }
                catch { /* what should we do??? */ }
            }

            // get files and add size
            try
            {
                string[] fileNames = Directory.GetFiles(path);
                foreach (string fileName in fileNames)
                {
                    FileInfo fileInfo = new FileInfo(fileName);
                    size += fileInfo.Length;
                }
            }
            catch { /* what should we do??? */ }

            return size;
        }
    }
}

Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Joshua schrieb am:  10.10.2011 22:19:51

Wäre es nicht besser ein ulong anstatt long zu verwenden?
Ansonsten danke ;)
NicoMcF schrieb am:  19.10.2011 00:01:34

Wenn ich richtig gerechnet habe, macht ulong erst ab einer Ordnergröße von 1.048.576 TBs sinn, von daher... ;)
Curry schrieb am:  19.10.2011 13:41:24

Aber eine unsigned-Variable würde wirklich mehr Sinn machen.
Oder hast du schonmal einen Ordner gesehen, der KLEINER als 0 Byte ist?
Sperneder Patrick schrieb am:  20.10.2011 11:17:54

catch {} ist immer sehr böse.... daher nur 2.


Diese Snippets könnten für Sie interessant sein:
[VB.NET] Datei im Explorer anzeigen und markieren
[C#] Datei anlegen
[C#] Aktuelles Verzeichnis auslesen
[VB.NET] CRC32 Hash einer Datei berechnen
[VB.NET] Den MD5 Hash einer Datei ermitteln
[VB.NET] Datei mittels Windows Dialog löschen
[VB.NET] Datei mittels Windows Dialog verschieben
[VB.NET] Datei mittels Windows Dialog kopieren
[VB.NET] Den SHA1 Hash einer Datei ermitteln
[VB.NET] Prüfen ob Datei gerade benutzt wird
[C#] Dateien in die Zwischenablage kopieren
[ASP.net] Textdatei zum Download anbieten
[C#] MD5-Hash von Dateien ermitteln
[C#] Arraylist in Textdatei schreiben
[C#] Textdatei in Arraylist speichern
[C#] SHA-1 Hash einer Datei erzeugen
[VB.NET] Datei Paketweise Kopieren
[ASP.net] Datei nach Bildupload prüfen
[C#] Dateien suchen mit LINQ
[C#] Datei/Ordner durch Erweiterungsmethoden abfragen
[C#] Datei-Eigenschaften zeigen (Eigenschaften-Fenster)
[C#] CSV Dateien schreiben
[C#] Create Nice File Size in C#
[VB.NET] Programmpfad mittels Erweiterung ermitteln in VB
[VB.NET] Dateien nach Datum sortieren
[C#] CSV und XML-Datei Datenbank-Import (incl. valid-check)
[C#] Datei umbenennen
[C#] Datei im Windows-Explorer anzeigen und markieren
[VB.NET] File Owner / File Besitzer
[VB.NET] wie in der CMD Pfad zu Datei ermitteln anhand des EXE-namens
[C#] Anzahl der Dateien in einem Ordner ermitteln
[VB.NET] Dateigröße als formatierter String
[VB.NET] Alle Dateien eines Ordners auflisten
[VB.NET] Den kurzen Pfad einer Datei ermitteln (8.3 Format)
[VB.NET] Klasse für Dateisuche
[C#] Erzeugen eines zufälligen Strings
[VB.NET] Dummy Datei erstellen
[C#] Datei in Papierkorb verschieben
[C#] Zeilen einer Datei zählen
[C#] Schreibschutz einer Datei setzen / entfernen
[ASP.net] Eine Datei zum Download anbieten
[VB.NET] Prüfen ob Dateiattribut vorhanden ist
[VB.NET] Bestimmtes Dateiattribut entfernen
[VB.NET] Datei ein bestimmtes Attribut geben
[VB.NET] Prüfen ob Datei eine EXE Datei ist
[C#] Prüfen, ob eine Datei ausfürbar ist (.exe, .bat, etc.)
[C#] Alle Dateien eines Ordners auflisten - C# Version -
[C#] eindeutigen Dateinamen ermitteln
[VB.NET] Datei-Inhalt anzeigen
[C#] Dateien und Ordner rekursiv löschen
[C#] Stream in Datei umleiten
[C#] Automatisches Umbenennen eines Pfades
[C#] Kapazität mit Einheit darstellen
[C#] LogWriter klasse
[C#] MIMETypeManager
[C#] externes Programm aufrufen (andere Version) mit Parameter
[C#] Herausfinden welches Programm ein bestimmtes Dokument öffnet
[VB.NET] Gibt das Bytearray einer Datei zurück
[C#] Datei ein bestimmtes Attribut geben/setzen
[VB.NET] Klasse für SimpleFileVerification (SFV)
[C#] Laden und speichern von komprimierten Binärdaten
[C#] Datei einlesen und als ArrayList jede Zeile zurückliefern
[C#] Parallele Dateisuche über mehrere Laufwerke
[C#] Byte Größenangaben als String formatieren (KB, MB, GB, ...)
[C#] Textdatei einlesen auf verschiedene Arten
[C#] Datei Teilweise einlesen (gestückelt)
[C#] Bestimmte Zeile einer Datei löschen
[C#] File Container
[C#] PDF Dateien erstellen
[C#] Ist Datei beschreibbar
[C#] Sichern einer MS-SQLServer Datenbank aus C#
[C#] Datei mi GZip packen
[C#] ini Datei anlegen - mit Dictionary
[C#] Dummy Files erzeugen. ( Mit Inhalt )
[C#] Byte-Array in Struktur kopieren
[C#] Text in Textdateien suchen
[VB.NET] Prüfen, ob eine Datei überschrieben werden kann
[C#] Beep Töne ausgeben (oldie but goldie)
[C#] Windows Username auslesen
[VB.NET] System aktualisieren
[C#] Betriebssystem Informationen abfragen
[C#] Startzeit von Windows ermitteln
[VB.NET] Windows XP Key ändern
[C#] Windows Version auslesen
[C#] Letzten Windows Fehler ausgeben
[C#] Windows Passwort überprüfen [Übersetzung]
[VB.NET] Windows Neustarten
[C#] Runde Form mit Windows.Forms
[C#] Windows herrunterfahren, ausloggen, neustarten
[VB.NET] Taskmanageraufruf verhindern
[VB.NET] Windows Live Messenger "Was ich gerade höre"
[C#] Öffnet den Windows Info Dialog.
[VB.NET] Autostart with windows Property
[C#] User-Verwaltung in eine ASP.NET Website einbauen
[C#] Prüfen ob aktueller Benutzer Administrator ist
[C#] old Windows Forms Image to new WPF Image
[VB.NET] Make Shortcut
[VB.NET] String uebers Netzwerk oder Internet and einen PC senden
[C#] Dateisystem Abfragen mit LINQ erstellen
[C#] Dateien mit bestimmter Extension rekursiv in Array einlesen
[VB.NET] Ordnergröße ermitteln
[VB.NET] Ort des Ordners "Eigene Dateien" ermitteln und anzeigen
[VB.NET] Ermitteln ob ein Ordner leer ist
[VB.NET] Ordergröße rekursiv bestimmen
[C#] Verzeichnisauswahl Dialog (FolderBrowserDialog)
[C#] Ordner und Dateien rekursiv durchlaufen
[C#] Ordner mit Inhalt kopieren (rekursiv)
[C#] Alle Dateien in einem Ordner umbennen
[C#] Dateilisten kopieren
[C#] FTP - Ordner Rekursiv erstellen
[C#] Prüfen ob in einem Verzeichnis Schreibrechte verfügbar sind!
[C#] rekursiver Verzeichnislauf
[C#] Eigenschaften aller Steuerlemente eines Formulars setzen
[C#] Treeview rekursiv durchsuchen
[VB.NET] Größter gemeinsamer Teiler
[VB.NET] Fibonacci-Folge iterativ erzeugen
[VB.NET] Binomialkoeffizient
[C#] Erzeugen von Zeichenfolgen durch Permutation
[C#] Verhindern das Funktion rekursiv aufgerufen wird.
[VB.NET] Größter gemeinsamer Teiler (2)
[C#] C# Ordner auslesen und in Liste speichern "rekursiv"
[VB.NET] File List
[VB.NET] Eigene Form aus ClassLibrary DLL Aufrufen

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.