从回收站删除单个项目
在C#(interop也许)中有任何方法可以永久删除回收站中的特定文件吗?
虽然在互联网上搜索,我只找到方法来删除回收站不是从。 我也不想清空整个垃圾箱,只是一个特定的文件。具体项目已经在回收站中。从回收站删除单个项目
我该怎么做?
编辑:
- 我没有那个文件我自己,也不是我的程序。有人这样做,我无法控制。
- Windows搜索以某种方式能够找到我的文件...?!?
我发现了另一件事,我实际上可以在C:\ RECYCLER中找到具有相同文件扩展名但文件名不同的文件。那么我怎么知道这是否是我正在寻找的文件呢?
这可能是一个愚蠢的问题,但文件进入回收,因为你的程序放在那里?如果是这样,您可以使用普通文件操作删除文件,并完全绕过回收站。
没有别人,但它有 – eric 2009-07-13 14:03:18
我从来没有尝试过,但是您可以在每个单元所隐藏的文件夹“RECYCLER”中搜索想要删除的项目,并将其删除。
Windows搜索能够真正做到这一点,但由于某些原因的GetFiles()返回一些奇怪的其他文件,甚至没有在我的回收站。 我似乎无法得到我正在寻找的文件 不幸的是... – eric 2009-07-13 14:06:50
using Shell32;
变种SHL =新壳牌();
// Get recycle folder
Folder Recycler = Shl.NameSpace(10);
FolderItems items = Recycler.Items();
for (int i = 0; i < items.Count; i++)
{
try
{
FolderItem FI = items.Item(i);
string FileName = Recycler.GetDetailsOf(FI, 0);
string FilePath = Recycler.GetDetailsOf(FI, 1);
string RecyleDate = Recycler.GetDetailsOf(FI, 2);
if (FileName == "your file/folder")
{
// check if chosen item is a folder
if (FI.IsFolder)
{
Directory.Delete(FI.Path, true);
}
else
{
File.Delete(FI.Path);
}
}
}
catch (Exception exc)
{
...
}
希望这可能会有所帮助。适用于我)
你怎么知道这是你正在寻找的文件?内容,大小等? – 2009-07-13 16:36:08
1.相同的扩展 2.清除一切,包括隐藏文件夹回收,只删除我的文件 瞧它在那里的唯一文件 – eric 2009-07-13 17:45:13