Board logo

标题: 怎么用批处理对硬盘填充零 [打印本页]

作者: nvflash     时间: 2006-9-29 19:20    标题: 怎么用批处理对硬盘填充零

头脑发热,纯的技术研究,无聊的问题,只敢问,不敢用啊:P

[ Last edited by namejm on 2007-2-3 at 03:50 PM ]
作者: NaturalJ0     时间: 2006-9-29 21:40
能给偶少许解释下么? = =
作者: nvflash     时间: 2006-9-29 22:06


  Quote:
Originally posted by NaturalJ0 at 2006-9-29 21:40:
能给偶少许解释下么? = =

哈,难道你也有兴趣?
DM有这个功能,作用是让硬盘的数据不能再恢复!!!!惨啊!
作者: nvflash     时间: 2006-9-29 22:07
我想到的就是用批处理的一个笨办法,不停的复制文件到硬盘里面
作者: redtek     时间: 2006-9-29 22:33
你没写全了填充零是什么,你要做什么。想帮助你的人还得再问一遍,你还得再说明一遍,你说明完了别人还得再看一遍,这过程太长了:)

我还是我帮你把你写的原文贴上吧:)


  nvflash 2006-9-16 13:14
  
  怎么用批处理对硬盘填充零?

  意思就是不要文件再恢复了,就必须进行空间的填充,我的思路是:不停的复制同一个文件到D盘(因为这样是从内存到硬盘,所以速度快一些),然后不停的重命名已经复制好的文件,但是我没有想到这个脚本应该怎么写。谁知道?



  有很多这样的软件可以达到目的。它们是重写0或1至少7次。
  
  文件被删掉以后,文件分配表只是把文件名打上了一个E5(16进制的标置),(使用PCTOOLS)可是查看(早期DOS版本我试过),然后只要用PCTOOLS把这个E5标置随便改成个标准字母(16进制)就可以恢复了,如果文件太大恢复不了。

  最笨的方法打开要安全删除的文件,然后写数据,存。写完以后再打开再写,多次。然后你试用数据恢复软件试一下。

  或,把文件内容清零,存。然后COPY别一个文件改成与它同名覆盖掉它,要比它大。再试用恢复软件看看。
作者: lxmxn     时间: 2006-9-29 23:51
引用楼上的一句话:
      [我的思路是:不停的复制同一个文件到D盘(因为这样是从内存到硬盘,所以速度快一些),然后不停的重命名已经复制好的文件,但是我没有想到这个脚本应该怎么写。谁知道?]

由于要复制文件到D盘(当然也可能在同一个目录)里面,所以文件名不能相同,楼上说不停的复制,然后重命名,这样未免有点听不过去,倒不如直接命名简单,呵呵``个人理解``
下面这个小批处理可以简单的实现这个。

@echo off
set /p num=请输入要复制文件的个数:
::下面的filename.exe是要复制的文件
::最好指定一个目录比较好
for /l %%i in (1,1,%num%) do copy filename.exe D:\filename%%i.exe
作者: pengfei     时间: 2006-9-30 00:16
不知楼主提出填零的问题, 是要做什么, 把硬盘写满让电脑罢工吗? 不要做坏事, 下面的代码只可作为交流...
可以控制写入数据大小的代码. lss后面的数字为控制写入的次数, 注意: 写入20次, 文件就可能是几百兆了, 并且文件会以级数级增长(每执行一次, 文件增大一倍), 请慎用!

@echo off
set num=1
echo hello>>destroy
:go
if %num% lss 50 (
    set /a num+=1
    type destroy>>destroy
    goto go
)
毁灭性代码~~~!
会不停地往硬盘写数据, 直到硬盘空间撑死, 机器也就趴下了. 呵呵~ 不要害人啊!!!
@echo off
echo hello>>destroy
:go
type destroy>>destroy
goto go

作者: redtek     时间: 2006-9-30 00:32
还不如这样操作更好玩!

1、强行在DOS下刷有毛的BIOS到显卡的BIOS内,让显卡“坏”了。
2、强行刷一个人工制造出问题的网卡BIOS针对常见的8139和8029刷网卡,
  然后让网卡罢工。
3、还有刷硬盘IC的工具吧?
4、还有升级MODEM的工具吧?全刷了
5、让显示器不断快速设置它,让它工作在1024*768,然后再回到640*480,
  不知道这么重复玩命的变,会不会一个小时以后显示器烧了?
6、同时格了它硬盘
7、这样吧,把对方主板BIOS也刷坏了得了!

这样最彻底,将来可以会就这样出现网卡病毒、显卡病毒……
作者: electronixtar     时间: 2006-9-30 01:11
还是fsutil

先 format ,然后

  Quote:
C:\WINDOWS\system32>fsutil  file  createnew
用法 : fsutil file createnew <文件名> <长度>
例如 : fsutil file createnew C:\testfile.txt 1000

把磁盘填满就行了,保证全部是0
作者: redtek     时间: 2006-9-30 01:43
顶~~
作者: NaturalJ0     时间: 2006-9-30 01:57
有现成的软件专做这个事的啊
作者: nvflash     时间: 2006-9-30 01:59


  Quote:
Originally posted by electronixtar at 2006-9-30 01:11:
还是fsutil

先 format ,然后


把磁盘填满就行了,保证全部是0

这样的话,和这个代码没什么区别啊,都是复制文件.

@echo off
set /a var=0
:startcopy
echo >c:\text.txt
ren c:\texdt.txt %var%
set /a var+=1
goto startcopy


能不能写个快一点的程序?
作者: nvflash     时间: 2006-9-30 02:00


  Quote:
Originally posted by redtek at 2006-9-30 00:32:
还不如这样操作更好玩!

1、强行在DOS下刷有毛的BIOS到显卡的BIOS内,让显卡“坏”了。
2、强行刷一个人工制造出问题的网卡B ...

想法不错,但实现起来有一定难度,现在的主板都是防止乱刷的,特别是不经过确认的刷!更是遥不可及!大家千万别对这个感兴趣啊!
作者: redtek     时间: 2006-9-30 02:29

C:\TEMP>dir
驱动器 C 中的卷是 DISK-C
卷的序列号是 4089-CA39

C:\TEMP 的目录
(…………略掉……部分目录与文件的显示…………)
2006-09-29  14:17    <DIR>          .
2006-09-29  14:17    <DIR>          ..
2006-09-28  20:59    <DIR>          t 1 2 3
               6 个文件          1,077 字节
               7 个目录  2,904,403,968 可用字节

C:\TEMP>Create.bat
请输入要生成多少MB的文件?  2000
找不到 C:\TEMP\生成的空文件.txt
--------------------------------------------
当前时间: 14:17:57.89
输入新时间:
已创建文件 C:\TEMP\生成的空文件.txt
当前时间: 14:17:57.92
输入新时间:
--------------------------------------------
驱动器 C 中的卷是 DISK-C
卷的序列号是 4089-CA39

C:\TEMP 的目录

2006-09-29  14:17     2,097,152,000 生成的空文件.txt
               1 个文件  2,097,152,000 字节
               0 个目录    807,251,968 可用字节
C:\TEMP>
生成2个G的文件用时约 0.3 秒。
已经试验完了,其实 electronixtar 大侠在他给你的回复里早就告诉你了,
你没仔细看,只想要结果~:)
vnflash 大侠做管理人员非常合适,只要告诉对方我需要什么就行了,哈哈……
作者: redtek     时间: 2006-9-30 02:48
参考 electronixtar 大侠 Fsutil 的运用~:)
@echo off
::  Redtek 14:13 2006-9-29


set /p M=请输入要生成多少MB的文件?  
set /a M=1024*1024*%M%

del 生成的空文件.txt 2> nul
echo --------------------------------------------
echo.|time
fsutil file createnew 生成的空文件.txt %M%
echo.|time
echo --------------------------------------------
dir 生成的空文件.txt

作者: electronixtar     时间: 2006-9-30 03:09
还有一个倒是可以 copy nul somefile.ext ,也是清零的
DOS下有个一个软件 wipeinfo,比较好用
作者: nvflash     时间: 2006-9-30 05:06
不是我没看,是我看不懂,另外,这个代码好像有一个限制,我想应该这样:

首先检测硬盘空间的大小,然后生成对应大小的文件,而不是要先设置好。
作者: zh159     时间: 2006-9-30 05:10
可惜 DOS 下的 wipeinfo 我只找到一个只能处理 FAT16 (最大2G)的
作者: redtek     时间: 2006-9-30 06:06


  Quote:
Originally posted by nvflash at 2006-9-30 05:06:
不是我没看,是我看不懂,另外,这个代码好像有一个限制,我想应该这样:

首先检测硬盘空间的大小,然后生成对应大小的文件,而不是要先设罠...

晕~~
这代码是做实验的同时也方便你试验和看:)
用不着判断硬盘剩余空间大小,我自己的硬盘DIR就知道了~:)
设置好了是为了说明 1024个字节是1KB,1024KB*1024KB为1MB,
Fsutil 生成文件是以字节来计算的,方便这个数值乘以MB来计算生成大小。

同时,你这人有一个缺点: 太较真~:)
             这是试验的代码,我凭什么非要写全了?
             把原理测试了写出来就是本意:)
             你的工作再忙这里很多热心的网友也只能帮你解决重要的部分。
             如果你希望把所有检测和无关的内容做全了,这等于帮你工作,而不是交流。



注: 请您注意,帮助你和我们大家之间交流是为了提高技术,
   大家并不能帮助你完成那些无关紧要的所有的工作!
   我们试图为你讲明 Fsutil 以及和探讨它生成文件的原理,
   如果你喜欢较真的计较别人对你的帮助还不够完全,我只能向你说声对不起~:)

[ Last edited by redtek on 2006-9-30 at 06:10 ]
作者: electronixtar     时间: 2006-9-30 06:18
恩,还有一个 3742668 的办法,用NTFS的ADS来占用硬盘空间,^_^
作者: nvflash     时间: 2006-9-30 09:29


  Quote:
Originally posted by redtek at 2006-9-30 06:06:



晕~~
这代码是做实验的同时也方便你试验和看:)
用不着判断硬盘剩余空间大小,我自己的硬盘DIR就知道了~:)
设置好了是为了说映...

我可没这样说啊,这是你自己说的。
作者: redtek     时间: 2006-9-30 10:17
向 nvflash 道歉,对不起~:)
作者: 3742668     时间: 2006-9-30 13:50

@echo off
    fsutil file setzerodata offset=0 length=%~z1 %1
pause
保存上面的代码到 清零.bat ,然后把想清零的文件拖到它的图标上就行了。
或者把它复制到sendto文件夹,以后想把哪个文件清零只需要在"发送到"里面选清零选项即可。
又或者参考批处理如何添加右键菜单?  在右键里面加上个类似什么“文件粉碎机”之类的选项。
作者: nvflash     时间: 2006-10-1 05:07


  Quote:
Originally posted by 3742668 at 2006-9-30 13:50:
@echo off
    fsutil file setzerodata offset=0 length=%~z1 %1
pause
保存上面的代码到 清零.bat ,然后把想清零的文件拖到它的图标上就行了。
或者把堮..

那么, 是不是要对D盘清零,就是
fsutil file setzerodata offset=0 length=%~z1 d:
这样呢?
作者: electronixtar     时间: 2006-10-1 05:56
3742668 版主的代码强,赞一个。不过为了考虑低权限用户,建议使用
runas /u:administrator /sa "fsutil file setzerodata offset=0 length=%~z1 %1"


  Quote:
要对D盘清零

fsutil file 好像只是针对文件的吧
作者: nvflash     时间: 2006-10-1 06:55
那这样的话,就偏离主题了,我是个菜,所以请大家多指教
作者: lxmxn     时间: 2006-10-1 09:39


  Quote:
Originally posted by 3742668 at 2006-9-30 13:50:
@echo off
    fsutil file setzerodata offset=0 length=%~z1 %1
pause
保存上面的代码到 清零.bat ,然后把想清零的文件拖到它的图标上就行了。

对于版主熟练的fsutil功底深感钦佩,但这个好象不是清零的哦,这样只是把文件里面的内容更改成了不可见的字符而已,我不知道是什么字符,可能是空格吧,文件的字节数似乎没有什改变啊!
作者: nvflash     时间: 2006-10-1 10:52
哈,长见识了
作者: 3742668     时间: 2006-10-1 11:12
Re nvflash:
    建议多看看基础性的东西,%~z1是扩展到参数1的大小。
    要对分区进行清零建议用format。
Re lxmxn:
    清零≠删除
    要是清零后文件大小改变了才怪了呢。光从参数setzerodata字面上理解也应该知道是把所有数据都改写成了零。
作者: vkill     时间: 2006-10-1 11:30
≠ 想问斑竹,这个是怎么写出来的,复制来的?
作者: 3742668     时间: 2006-10-1 11:38


  Quote:
『第 30 楼』:  

≠ 想问斑竹,这个是怎么写出来的,复制来的?

汗一个。
智能ABC,v1,向下翻了找。
这年头,不知道的这个的不多了...
作者: lpclimber     时间: 2006-12-13 09:44
fsutil果然功能强大呀!
作者: yjhyxing     时间: 2007-3-13 05:42
哈哈,怎么大家玩起整蛊来了,还是怎样想好的P吧,应该多想想有用的,不要乱想些乱七八糟用来整蛊起人来了,如果是这样的话,那以制造病毒没有两样了。