如何获取回收站路径?

4

我想获取回收站的路径。我在网上搜索并发现人们使用shell32获取回收站中的文件列表。然而,我的目的是将监视回收站从我的文件监视器中排除,因此我只想获取回收站的路径,当设置IncludeSubdirectories为true时。使用shell32获取文件列表的代码如下所示,但我不知道如何获取回收站的路径。

Shell Shl = new Shell();
Folder Recycler = Shl.NameSpace(10);
for (int i = 0; i < Recycler.Items().Count; i++)
{
    FolderItem FI = Recycler.Items().Item(i);
    string FileName = Recycler.GetDetailsOf(FI, 0);
    if (Path.GetExtension(FileName) == "") FileName += Path.GetExtension(FI.Path);
    string FilePath = Recycler.GetDetailsOf(FI, 1);
    Console.WriteLine(FilePath);
}

感谢您的提前帮助!

请查看第一个答案:https://dev59.com/v3I-5IYBdhLWcg3wQV4Z - Poomrokc The 3years
我尝试了他的代码,但它没有起作用。 - bunny
那么你的意思是,如果你监视根文件夹和子文件夹,当一个文件到达回收站时它会得到通知? - Black Frog
是的,我监控整个文件系统。 - bunny
3个回答

3

我的服务器的回收站里有超过59万个文件,导致任何打开回收站的尝试都会使服务器耗尽内存并崩溃。

这段代码可以在PowerShell ISE中运行,但需要花费近30分钟的时间。没有错误发生。

Get-ChildItem -Path 'C:\$Recycle.Bin' -Force | Remove-Item -Recurse -ErrorAction SilentlyContinue

1

这是回收站目录 C:\$Recycle.Bin ...如果你想要获取文件,请 取消隐藏 该目录...


2
所有的回收站都在C:$Recycle.Bin下吗?这适用于所有的Windows操作系统吗? - bunny
2
我听说每个磁盘都有一个回收站。因此,如果我有E或D驱动器,我需要提到D:\ $ Recycle.Bin和E:\ $ Recycle.Bin吗? - bunny

-2
请查看this链接。这可能会帮助您获取回收站的路径。
在这里,您可以访问URL C:\$Recycle.Bin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接