2

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

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

4

2 回答 2

8

你确定这确实是正在发生的事情吗?MSDN 文档中没有关于此行为的任何内容(如果确实如此,它不会是非常跨平台的)。使用像回收站这样的系统功能通常涉及一些比简单的删除更复杂的 API 函数。

此链接 暗示与您的问题完全相反。

于 2017-05-22T12:04:52.703 回答
0

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

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

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

My.Computer.FileSystem.DeleteDirectory(
  DirectoryPath,
  FileIO.UIOption.AllDialogs,
  FileIO.RecycleOption.DeletePermanently); 
于 2017-05-22T11:56:41.533 回答