我正在创建一个程序来运行文件I/O压力在驱动器上,当它完成时,我想删除文件,但不想把它们放在回收站。下面是我现在的代码:
public static void DeleteDirectory(string target_dir)
{
//Delete the files and folders created during stress.
string[] files = Directory.GetFiles(target_dir);
string[] dirs = Directory.GetDirectories(target_dir);
foreach (string file in files)
{
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
}
foreach (string dir in dirs)
{
DeleteDirectory(dir);
}
Thread.Sleep(30);
Directory.Delete(target_dir, true);
} 但这段代码只是将文件移到回收站。我不想添加代码来自动清空回收站,因为其中可能有我不想删除的文件(这些文件可能属于其他人)。
注:从这些回复到目前为止,似乎人们可能误解了我在这里试图做的事情。当我的程序删除文件时,它会将它们发送到回收站。我不希望这种情况发生,我想立即删除文件。我看不出有什么方法可以告诉系统删除这些文件而不将它们发送到回收站。我再也不需要恢复文件了。这是默认的发送到回收站,但我看不出任何方式来改变这一点。如果可能的话,请编辑我发布的代码,让它立即删除这些文件。我是一个新手的C#用户。
发布于 2013-09-29 05:28:41
你在找FileSystem.DeleteDirectory方法(String,UIOption,RecycleOption)
循环 指定是否应将已删除的文件发送到回收站。缺省值是RecycleOption.DeletePermanently。
https://stackoverflow.com/questions/19074724
复制相似问题