什么叫清除??比如 原来有5个文件 你这个清除 是删除这5个文件么? 如果你对格式化不感冒 你可以遍历跟目录 得到文件跟文件夹 然后挨个删除就行了..简单的就格式化..话说你PE好高端啊 还可以运行C#啊

解决方案 »

  1.   

    我猜楼主想要的是360防止恢复功能
    说这个功能的原理之前,你必须先知道删除的原理文件本身的数据存储在磁盘中,它还有个索引,也在磁盘中,跟文件本身的数据并不放在一起
    可以理解成堆栈的关系,是一个引用,记录了文件类型和大小的信息
    删除文件其实不过就是删除了索引,文件本身的数据还在硬盘上,只不过通过操作系统看不到它了,没有引用了
    使用硬盘恢复工具,可以将这个失去索引但是数据还在的文件恢复原状(其实就是重新建立索引,恢复可见性)如果想让文件无法通过工具恢复,那么你需要反复写入,反复删除,直到存储文件的磁盘区域的数据变得支离破碎另:PE不过是精简版的XP,可以运行.net框架的
      

  2.   

    楼主可以这样做。
    你先调用Format 或遍历整个盘的文件删除,然后呢再用C# 写文件的方式写入占满整个盘的空间的内容,进行复盖原磁道。占满后。再把这个临时文件给删掉。。就可以了
      

  3.   

    我觉得应该有相应API能够获取到文件存储的真实物理地址,也可以指定写入文件的真实物理地址的吧
    虽然正常都是系统自动调度,自动分配
    但是360防恢复功能很明显并不需要将整个磁盘写满一次
    如果我磁盘有2T,光是写满一次就得超过24小时了
      

  4.   

    主要看楼主防恢复要防到什么程度了。
    1、如果只是防普通恢复软件,那很简单 。只要看一下恢复软件源码,相应更改一下就好了,NTFS的恢复我不是很清楚,FAT32的恢复就是读取前面的一位,其中0表示未使用,-27表示删除,46表示使用中且为短文件名。更加恢复软件源码,把-27修改了就好了。NTFS类似。
    2、防数据恢复公司恢复的话,就需要把-27的数据簇覆盖写入一次。
    3、防止国安恢复数据,重复写入3-5次即可(或者低格3-5次)
    4、防止FBI,就需要7次
    以上数据是以前在一个论坛上看到的,只做参考。不过覆盖3次以下恢复数据的技术的确我是看到过的。但不是100%还原,我看到的那次还原了70%+的数据。
      

  5.   

    随便说说:
    格式化硬盘,用10M大小的文件写满整个硬盘;再格式化硬盘,再用10M大小的文件写满整个硬盘;再格式化硬盘,再用10M大小的文件写满整个硬盘…………
    这样多弄几次,应该就可以了吧。
    只是时间会很长,估计一次写满整个硬盘,要花费2、3个小时吧。从上班折腾到下班,应该就可以了吧。
      

  6.   

    扯辣么高级.只要打开要删除的文件,写入相应长度的数据就OK了,再删除掉.你再试恢复一个看看.
    按楼下说的,防BFI的话,重写七次试试了
      

  7.   

    这是个好办法,按二进制打开文件,往里写入0xff,再写一遍0x00,再写0xff,反复7次
      

  8.   

    请自行查找各种文件系统的api接口,不同的文件系统,方法不同,而资料在C#里面是肯定不存在的,因为是驱动级别的(Rank0)的事情,C#只管调用。
    至于上面所谓的“按二进制打开文件,往里写入0xff,再写一遍0x00,再写0xff,反复7次”肯定是不行的,不要以为磁盘的优化是假的,各种读写操作都有磁盘缓存,不会立刻生效,同时不同的文件系统,写入的位置也是不同的,一般的机械磁盘要求连续存储,而SSD则要求全盘存储满后擦除覆盖,为了延迟寿命。不单单是SSD,只要是闪存颗粒都是如此,反复读写一个块区会导致损坏。
      

  9.   

    楼上很多朋友说的都对,我确实希望用C#写一个程序,运行在PE里,然后格式化(或者说清除,磨掉)之前硬盘的一切数据,防止被人恢复,主要是为了应对BM检查。
    有这个想法主要是考虑到C#的类库提供了文件读写删除的功能,,但是我试验过,删除了之后,连360都能恢复出来,更甭说迎接监查了
    还望各位大神帮忙想想更好的办法,因为硬盘不能扔掉,每一块序列号和品牌型号以及固件号都备案过的。
      

  10.   

    搜一搜:C#写入二进制文件
    不过就是new一个FileStream(先using System.IO),然后执行write
      

  11.   

    搜一搜:C#写入二进制文件
    不过就是new一个FileStream(先using System.IO),然后执行write
    我看了一下,FileStream可以创建并写入二进制文件,你的意思是说,我需要在不同的卷下,创建一个文件,然后把它写满为止,是这个意思吗?抱歉,我思路有点乱。然后,写完了删除这个文件,继续写,写满7次为止?
      

  12.   

    搜一搜:C#写入二进制文件
    不过就是new一个FileStream(先using System.IO),然后执行write
    我看了一下,FileStream可以创建并写入二进制文件,你的意思是说,我需要在不同的卷下,创建一个文件,然后把它写满为止,是这个意思吗?抱歉,我思路有点乱。然后,写完了删除这个文件,继续写,写满7次为止?
    你只是需要将你需要彻底删除的文件用二进制流覆盖,先获取文件大小,然后创建跟文件大小同样大的数组,先全部写入1,再全部写入0,反复7次,最后等你删除文件的时候,它就算能恢复,恢复出来也是没有数据的
      

  13.   

    我也很奇怪什么数据会引动国安局来查,还会用上恢复删除文件的手段
    如果你的硬盘真的存了FBI名单这种敏感文件,还是果断用锤子砸了,用喷枪烤半个小时,让磁性物质和外壳都融到一起,那保证外星人来了也还原不了的,然后你报告硬盘失窃/损坏,自己掏钱买个新的顶替上去