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
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)
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
mach am besten
string[] Files = Directory.GetFiles(Pfad);
int fileCount = Files.lenght;
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)
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
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(
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)
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