Zu allererst wird Path.Combine()
verwendet String-Verkettung zu ersetzen, so verketten keine Saiten in ihm. Übergeben Sie jeden Namen, den Sie verketten möchten, als Parameter, und die Funktion erledigt den Rest.
Zweitens, um einen Ordner mit Dateien zu entfernen, müssen Sie die Directory.Delete(string, bool)
Überladung verwenden. Der Wert bool
(recursive
) gibt an, ob Sie Dateien und Unterordner im angegebenen Verzeichnis (siehe MSDN Documentation for Directory.Delete()) entfernen möchten.
Und schließlich Environment.SpecialFolder.ApplicationData
ist nur eine Aufzählung (was bedeutet, es ist nur eine Nummer). Sie müssen es als Parameter an die Environment.GetFolderPath()
-Methode übergeben, um den tatsächlichen Pfad des AppData-Ordners abzurufen.
Beispiel:
string AppDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string FolderToDelete = Path.Combine(AppDataFolder, "Kappa");
try
{
Directory.Delete(FolderToDelete, true); //Setting "recursive" to true will remove every subfile/-folder.
}
catch (Exception ex)
{
//An error occurred, use this block to log it/show it to the user/whatever.
//ex.Message - The error message.
//ex.StackTrace - Where in the code the error occurred.
}
EDIT:
Als @ dman2306 in seinem Kommentar sagte, einige Ausnahmebehandlung ist eine gute Praxis bei, dass das Löschen fehlschlägt. Ich habe dies zu meinem obigen Code hinzugefügt. Der Code im Block try
wird ausgeführt, bis eine Ausnahme ausgelöst wird (falls vorhanden). Wenn eine Ausnahme die Ausführung ausgelöst wird, wird den catch
Block weitergehen, das ist, wo Sie die Ausnahme abfangen und zum Beispiel der Fehlerprotokollierung durchführen, andere Verfahren zu stoppen usw.
EDIT 2:
Sie möglicherweise müssen "Roaming" zu Path.Combine()
hinzufügen. Ich bin mir nicht sicher, ob es bereits enthalten ist oder nicht, und ich kann das jetzt nicht testen.
string FolderToDelete = Path.Combine(AppDataFolder, "Roaming", "Kappa");
Vergessen Sie, was ich sagte, SpecialFolder.ApplicationData
Sie den Pfad zu dem Ordner Roaming
gibt.
Haben Sie also gefunden, was Sie gesucht haben, oder ...? –