C# alles aus Verzeichnis löschen, bis auf eine Dabei

TresPuntos

Cadet 4th Year
Registriert
Juni 2018
Beiträge
113
Hallo,
gibt es einen Befehl der alle Dateien aus dem Verzeichnis löscht bis auf eine Datei?
Würde mir dafür dann die paar Zeilen Code sparen:
C#:
String[] ZweiteListe = Directory.GetFiles(targetPath);
            foreach (string itemPath in ZweiteListe)
            {
                String dateiName = Path.GetFileName(itemPath);
                MessageBox.Show("kk: " + itemPath);
                if (dateiName.Equals(ende))
                {
                    continue;
                }
                else
                {
                    File.Delete(targetPath + dateiName);
                }
 
Ich glaube nicht, dass es sowas gibt. Aber du könntest dir den ganzen "else"-Block sparen, indem du einfach dein if-Statement negierst.
 
Um´s File.Delete sollte noch ein "try.....catch", damit einem das Ganze bei nicht löschbaren Dateien nicht um die Ohren fliegt (Systemdateien, index.dat etc.). Wenn es Dir nur darum geht (Du also wegen der nicht löschbaren Datei(en) den Ausschluß machst), geht´s etwas einfacher:

try {
File.Delete(targetPath + dateiName);
}
catch (Exception ignore) {
}
 
Zurück
Oben