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 暗示与您的问题完全相反。
在 .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 暗示与您的问题完全相反。