Laden...

Alle Dateien ausser *.ini-Files aus Folder lesen

Erstellt von Dragonfight86 vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.654 Views
D
Dragonfight86 Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren
Alle Dateien ausser *.ini-Files aus Folder lesen

Hallo zusammen,

ich möchte die Möglichkeit einbauen alle Formate(z.B. Bildformate) jedoch haut er mir hier ständig eine Datei namens "Desktop.ini" rein.

gibt es eine Möglichkeit dies auszuschließen an der stelle dirInfo.GetFiles("*.*Ausnahme von ".ini"")

   // prüft ob alle Formate Ausgewählt sind
            if (checkBox1.Checked == true)
            {
                foreach (FileInfo fInfo in dirInfo.GetFiles("*.*"))
                {
                    listeBilder.Add(new Bild(fInfo));
                }
            }
            else
            {
                foreach (CheckBox box in cb)
                {
                    if (box.Checked == true)
                    {
                        Auswahl.Add(box);
                    }
                }

                foreach (CheckBox format in Auswahl)
                {
                    foreach (FileInfo fInfo in dirInfo.GetFiles("*." + format.Text))

                    {
                        listeBilder.Add(new Bild(fInfo));
                    }
                }
            }

Falls Relevant, ich möchte alle Bilder eines Ordners in eine Liste packen, die Metadaten kommen in eine Datenbank, danach wird eine Verzeichnisstruktur angelegt welche auf dem Erstellungsjahr basiert....bis hier läuft alles.
Abschließend lasse ich alle Bilder anzeigen und hier springt er raus da " .ini " zum Abbruch führt.
Diese sollte aber gar nicht ausgewählt worden sein 😦

Freue mich über Hilfe

709 Beiträge seit 2008
vor 7 Jahren

Hallo Dragonfight86,

du könntest in der Schleife prüfen, ob der Dateiname auf ".ini" endet und dann mit continue direkt zum nächsten Element springen.

2.207 Beiträge seit 2011
vor 7 Jahren

Hallo Dragonfight86,

Vielleicht kannst du das hier anpassen:

[Snippet] Verzeichnisse und Dateien rekursiv durchlaufen

Gruss

Coffeebean

C
2.122 Beiträge seit 2010
vor 7 Jahren

GetFiles liefert dir alles, daher auch die Desktop.ini. Die liegt ja tatsächlich im Verzeichnis.

Entweder siehe Antwort von pinki, oder wenn du nicht "alles außer" sondern laut deiner Beschreibung eigentlich vielmehr "nur bestimmte" Treffer haben willst, kannst du auch alles rausfiltern was kein Bildformat ist. Sonst liegt mal eine Textdatei im Verzeichnis, dann fängst du wieder an die zu filtern.

D
Dragonfight86 Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Ah daran habe ich nicht gedacht, gibt es da schon eine Funktion um direkt nur Bilddateien anzusprechen?

ich habe zwar 10 CheckBoxen, wobei jede für ein Format steht, doch sind hier nur die gängigen hinterlegt. Da wir ja bequem sind wäre eine automatische Auswahl ja wesentlich schöner.....

            CheckBox[] cb = new CheckBox[] { checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6, checkBox7, checkBox8, checkBox9, checkBox10, checkBox11 };

57 Beiträge seit 2012
vor 7 Jahren

Wenn du nur Bilddateien möchtest, dann probiers doch mit

  if(Dateiname.Split('.')[1] == "gif")

du kannst dann ja alle Bildformate mit | hinzufügen
So kannst du aber auch direkt auf '.ini' abfragen und dann bei Bedarf continue ausführen

OO gibts seit Platon - hatte der auch C#?

771 Beiträge seit 2009
vor 7 Jahren

So doch nicht, dafür gibt es Path.GetExtension().

CWolle: nimm mal "x.y.gif" als Dateiname...

F
10.010 Beiträge seit 2004
vor 7 Jahren

Oder "dateinameOhneExtension"