System.IO.Directory.Delete 方法只是将文件发送到回收站。有什么办法可以永久删除?

System.IO.Directory.Delete Method just sends files to Recycling Bin. Any way to permanently delete?

在 .NET 中,我 运行 代码 Directory.Delete(tempdir, true); 永久删除目录和所有包含的文件。但是,此删除方法仅将文件发送到回收站,而不是永久删除它们。有没有办法强制 Directory.Delete 永久删除目录和包含的文件,而不是仅仅移动到回收站?我找不到任何其他方法重载来执行此操作。

编辑: 正如尼尔指出的那样,这并不是实际发生的事情。 Directory.Delete确实是永久删除目录和包含的文件,而不是将它们发送到回收站。 抱歉造成任何混淆

看看MSDN:FileSystem.DeleteDirectory
它有参数 RecycleOption recycle,它使用带有以下选项的 enum

  • 永久删除
  • 发送到回收站

因此调用以下内容就足够了:

My.Computer.FileSystem.DeleteDirectory(
  DirectoryPath,
  FileIO.UIOption.AllDialogs,
  FileIO.RecycleOption.DeletePermanently); 

你确定这是真的吗? MSDN docs 上没有关于此行为的任何内容(如果有的话,它不会非常跨平台)。使用回收站等系统功能通常涉及一些比简单删除更复杂的 API 功能。

This link 暗示与您的问题完全相反。