Laden...

Ermitteln wieviele Dateien im Verzeichnis sind

Erstellt von kInGsToNe vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.372 Views
K
kInGsToNe Themenstarter:in
72 Beiträge seit 2007
vor 16 Jahren
Ermitteln wieviele Dateien im Verzeichnis sind

Hallo,

ich möchte gerne wissen ob man ermitteln kann wieviel Dateien sich im Verzeichnis befinden. Über diese Zahl wollte ich nämlich gerne meine progressBar laufen lassen. Leider gibt es ja nicht einfach so eine Methode:

Directory.GetFileCount();

😁 hoff mal es weiß jemand

mFg

Mädels die sich die wimpern pinseln, sind auch die die beim pimpern winseln 😉

Frauen sind wie Wolken, wenn sie weg sind wird es schön

3.511 Beiträge seit 2005
vor 16 Jahren

Nö, aber es gibt Directory.GetFiles() und das hat die Eigenschaft Length (da ein Array zurückgeliefert wird).

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

K
kInGsToNe Themenstarter:in
72 Beiträge seit 2007
vor 16 Jahren

hä? das verstehe ich nicht. Wenn ich sage:

int fileCount = Directory.GetFiles(directoryPath).Length;

bekomme ich doch den Wert "1" zurück oder nicht?

mFg

Mädels die sich die wimpern pinseln, sind auch die die beim pimpern winseln 😉

Frauen sind wie Wolken, wenn sie weg sind wird es schön

H
65 Beiträge seit 2006
vor 16 Jahren

mach am besten

string[] Files = Directory.GetFiles(Pfad);

int fileCount = Files.lenght;

3.511 Beiträge seit 2005
vor 16 Jahren

bekomme ich doch den Wert "1" zurück oder nicht?

Warum vermutest du das?

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

K
kInGsToNe Themenstarter:in
72 Beiträge seit 2007
vor 16 Jahren

Bitte nicht hauen ^^.. weil ich doch nur das eine Verzeichnis das ausgewählt ist zähle oder nicht?

hmm ich versteh das einfach nicht.

wenn ich z.b folgendes probier klappt gar nix:

int FileCount = 0;

            for (int i = 1; i <= FileCount; i++)
            {
                string[] Files = Directory.GetFiles(directoryPath);

                FileCount = Files.Length;

                if (this.progressBar1.Value != 100)
                {
                    this.progressBar1.Value += 1;
                }

irgendwo ist es auch klar das das nicht funktionieren kann.. komme nur auf keine andere lösung. Kann bei mir jemand den Groschen zum fallen bringen?

mFg

Mädels die sich die wimpern pinseln, sind auch die die beim pimpern winseln 😉

Frauen sind wie Wolken, wenn sie weg sind wird es schön

915 Beiträge seit 2006
vor 16 Jahren

Hrhr, also ich glaub du brauchst "dringend" nen Kaffee :p

Bitte nicht hauen ^^.. weil ich doch nur das eine Verzeichnis das ausgewählt ist zähle oder nicht?

Nein, Directory.GetFiles gibt immer die Dateien zurück die sich im angegebenen Ordner befinden. Mit GetDirectories bekommst du die Ordner zurück die sich im angegebenen Ordner befinden 🙂

Beispiel dazu:


 private void button1_Click(object sender, EventArgs e)
        {
            using (FolderBrowserDialog dlg = new FolderBrowserDialog())
            {
                dlg.ShowNewFolderButton = true;

                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    string[] asFiles = Directory.GetFiles(dlg.SelectedPath);
                    string[] asDirectories = Directory.GetDirectories(dlg.SelectedPath);

                    Console.WriteLine("In Path {0} where {1} Files and {2} Subdirectories",
                        dlg.SelectedPath, asFiles.Length, asDirectories.Length);
                }
            }
        }


            int FileCount = 0;
            for (int i = 1; i <= FileCount; i++)
            {

Wenn i also hier 1 kleiner gleich 0 ist , so ist die Bedingung immer false :p

Du meintest sicher das hier :


    string[] asFiles = Directory.GetFiles(@"C:\");

            for (int i = 0; i < asFiles.Length; i++)
            {
                Console.WriteLine(asFiles[i]);

            }

[Edit]
Hrhr, glaube brauch auch nen Kaffee, bekam das Quote nicht hin 😉

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

3.511 Beiträge seit 2005
vor 16 Jahren

Bitte nicht hauen ^^.. weil ich doch nur das eine Verzeichnis das ausgewählt ist zähle oder nicht?

Keine sorge, ich hau nicht 🙂
Die Zeilen


string[] files = Directory.GetFiles(@"C:\");
int count = files.Length;

ist identisch mit


int count = Directory.GetFiles(@"C:\").Length;

GetFiles() liefert ja ein Array von string[] zurück und deswegen, kannst du nach den Methodenaufruf GetFiles() direkt die Methoden/Eigenschaften von dem Array benutzen.

Ich empfehle dir dringenst 🛈 und 📗

Das einfachste ist, du setzt den MaxValue der ProgressBar auf die Anzahl der Dateien und zählst dann immer um eins hoch.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

K
kInGsToNe Themenstarter:in
72 Beiträge seit 2007
vor 16 Jahren

erst mal danke an alle.

Ich glaub ich schau mir das ganze morgen nochmal an, ich glaub das is besser 🤔

mFg

Mädels die sich die wimpern pinseln, sind auch die die beim pimpern winseln 😉

Frauen sind wie Wolken, wenn sie weg sind wird es schön