如何在c#中正确地删除和复制到文件夹

本文关键字:复制 文件夹 删除 正确地 | 更新日期: 2023-09-27 18:12:26

我的同事和我进行了一场IT喷子大战,我想用c#制作一个。exe,它可以在启动时自动启动,然后关闭PC。我得到了这个工作,但重新启动后,我得到一个异常,文件已经存在。现在我试着用File.Delete(@Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), fileName));删除它但我得到另一个异常System.IO.FileNotFoundException:这说它找不到"C:'Windows'system32'Test.exe"(Test.exe是程序)我不能发布完整的错误,因为它在德语所以,是的。是否有一种方法可以忽略异常并覆盖它?以下是我的完整代码:

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");

如何在c#中正确地删除和复制到文件夹

使用File的重写。

使用第三个参数进行覆盖的复制。
File.Copy(filePath, Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), fileName), true);