在C# (可能互操作)中有任何方法永久删除回收站中的特定文件吗?
在网上搜索时,我只找到了删除到回收站的方法,而不是从里面删除。我也不想清空整个垃圾箱,只是一个特定的文件。特定的项目已经在回收站了。
我该怎么做?
编辑:
我发现了另一件事,我可以在C中找到一个文件:文件扩展名相同但名字不同的回收商。那么,我怎么知道这是否真的是我要找的文件呢?
发布于 2013-01-15 17:41:32
你需要参考:
using Shell32;代码:
var shl = new Shell();
// 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 14:02:22
我从来没有试过,但你可以搜索你想要删除的项目,在隐藏文件夹“回收”,每个单位有,并删除它。
发布于 2009-07-13 14:01:12
这可能是一个愚蠢的问题,但文件进入循环是因为你的程序放在那里?如果是这样的话,您可以使用正常的文件操作删除文件,并完全绕过回收站。
https://stackoverflow.com/questions/1119567
复制相似问题