如何从回收站恢复大量文件?

如何从回收站恢复大量文件?

一个文件同步软件失控,删除了我的大部分个人文件。幸运的是,它们在回收站里找到了。现在的问题是我无法恢复它们,因为要恢复的文件太多了(超过 30,000 个)。

当我单击“恢复所有项目”按钮时,资源管理器冻结了一会儿,然后出现一个弹出窗口,显示“准备移动文件”,并挂在“找到 0 个项目”处。

我尝试一次恢复五页文件(大约 100 页),并且成功了。但我不可能手动恢复这么多。

我已经永久删除了事故发生前已在回收站中的所有项目,因此现在每个文件都是唯一的,如果我运行批处理或其他操作,就不会有重复文件中断进程的风险。实际上,我可以尝试自己编写一个程序,也许 StackOverflow 上有这方面的参考,但我不能冒险完全销毁文件,所以这不是选择,至少现在不是。

有什么想法吗?提前致谢。

答案1

此方法应该可以将所有文件从回收站中取出,但请注意,如果您需要将它们放在特定目录中,则必须将它们放回原来的位置。

1.) 以管理员身份打开命令提示符,运行命令wmic useraccount get name,sid,复制用户的 SID,现在在同一个命令提示符下运行cd \$Recycle.Bin\%SID%替换SID使用刚刚复制到剪贴板的 SID(但保留两边的 %,这是一个隐藏文件夹,要求将其保留在名称中)。

2.) 现在将该文件夹中的所有内容复制到您选择的空文件夹中,xcopy /e .\* C:\path\to\your\empty\folder\但请注意,这将通过命令提示符复制所有 30000 个文件,并且可能需要一段时间。完成后,检查命令提示符以确保没有出现错误,并检查您将所有内容复制到的文件夹并确保所有内容都在那里。现在您可以自由地清空回收站了。

答案2

我终于找到了如何使用 C# 来解决这个问题。

抱歉没有提供编译版本,但此代码是特定于语言的(也是特定于 Windows 版本的),并且仅供了解它的人使用。

以下是代码托管于 Gist

它运行起来真的很慢……但好处是它能用。总比没有好。我还有时间等。

参考:

相关内容