我可以使用什么工具/实用程序列出Windows上已删除的文件?

Dor*_*thy 0 java windows utilities file

我正在制作一个Java桌面应用程序,它将"Shred"或"Swipe"或"更永久地删除Diles".我可以刷卡但首先我必须找到并访问已删除的文件.

是否有一些工具或实用程序可用于访问已删除的文件?我可以将它们恢复到临时位置然后切碎它们.或者有没有办法用Java或命令行来做到这一点?

Ste*_*n C 8

如何使用Java或命令行列出Windows删除过程标记为已删除的文件?

简短的回答是你不能用Java做到这一点.

更长的答案是,您可以在Java中执行此操作的唯一方法是将大量本机代码写入:

  • 访问磁盘块级别的磁盘,
  • 对结构化的文件系统数据进行解码,以找到曾经是已删除文件一部分的已删除文件和孤立块,以及
  • 将相关块归零.

......而......

  • 确保没有将块重新分配给另一个(未删除的)文件,以及
  • 考虑可能正在创建,修改和删除文件的其他正在运行的进程.

如果要在C/C++中实现所有内容,那么完成所有这些工作真的很难,如果您使用Java实现它,那就更难了.如果你把它搞砸了,你可能会丢弃PC的文件系统.


更好的想法是找到一些现有的工具/实用程序来完成工作和使用Runtime.exec(...)或等效运行它作为一个单独的过程.

(我会留给其他人建议可能的工具/实用程序.sysinternals sdelete工具似乎不会处理已经删除的文件.)