如何在c#中删除一个文件,例如C:\test.txt,尽管应用类似于批处理文件中的相同方法。

if exist "C:\test.txt"

delete "C:\test.txt"

else 

return nothing (ignore)

当前回答

您可以导入系统。IO命名空间使用:

using System.IO;

如果filepath是文件的全路径,可以检查是否存在并删除。

if(File.Exists(filepath))
{
     try
    {
         File.Delete(filepath);
    } 
    catch(Exception ex)
    {
      //Do something
    } 
}  

其他回答

像这样使用System.IO.File.Delete:

System.IO.File.Delete(@“C: \用法”)

从文档中可以看到:

如果要删除的文件不存在,则不会抛出异常。

这是最简单的方法,

if (System.IO.File.Exists(filePath)) 
{
  System.IO.File.Delete(filePath);
  System.Threading.Thread.Sleep(20);
}

线程。睡眠将有助于完美的工作,否则,它将影响下一步如果我们做拷贝或写入文件。

另一种方法是,

if (System.IO.File.Exists(filePath))
{
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
System.IO.File.Delete(filePath);
}

如果您希望避免DirectoryNotFoundException异常,则需要确保文件的目录确实存在。文件。存在实现了这一点。另一种方法是像这样利用Path和Directory实用程序类:

string file = @"C:\subfolder\test.txt";
if (Directory.Exists(Path.GetDirectoryName(file)))
{
    File.Delete(file);
}
if (System.IO.File.Exists(@"C:\test.txt"))
    System.IO.File.Delete(@"C:\test.txt"));

but

System.IO.File.Delete(@"C:\test.txt");

只要文件夹存在,就会这样做。

您可以导入系统。IO命名空间使用:

using System.IO;

如果filepath是文件的全路径,可以检查是否存在并删除。

if(File.Exists(filepath))
{
     try
    {
         File.Delete(filepath);
    } 
    catch(Exception ex)
    {
      //Do something
    } 
}