Mein Kollege und ich bekamen einen kleinen IT-Troll-Kampf und ich wollte eine .exe in C# erstellen, die sich beim Start automatisch startet und dann den PC herunterfährt. Ich habe das funktioniert, aber nach einem Neustart bekomme ich eine Ausnahme, dass die Datei bereits existiert. Jetzt habe ich versucht, es mit File.Delete(@Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), fileName));
löschen, aber ich bekomme eine weitere Ausnahme System.IO.FileNotFoundException: das heißt es konnte nicht finden "C: \ Windows \ system32 \ Test.exe" (Test.exe ist das Programm) Ich kann nicht posten der volle Fehler, weil es so in Deutsch ist, ja. Gibt es eine Möglichkeit, die Ausnahme einfach zu ignorieren und sie trotzdem zu überschreiben? Hier ist mein vollständiger Code:Wie wird in C# gelöscht und in den Ordner kopiert?
String fileName = String.Concat(Process.GetCurrentProcess().ProcessName, ".exe");
String filePath = Path.Combine(Environment.CurrentDirectory, fileName);
File.Delete(@Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), fileName));
File.Copy(filePath, Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), fileName));
Process.Start("shutdown", "/s /t 0");
Warum würde der volle Fehler, der auf Deutsch ist, Sie davon abhalten, es zu veröffentlichen? – Maarten
Dunno Ich kann es hinzufügen, wenn Sie denken, es hilft –
lol @ Maarten, gut, was Sie tun können, ist zunächst für die Existenz der Datei vor dem Löschen zu überprüfen. –