0

我有一个项目,我需要证明消磁器可以完全擦除标准 HDD 上的所有文件痕迹。我想用重复信息传播主题硬盘,例如单个单词“信息”。

我在想,通过这种方式,我可以非常快速地对消磁驱动器进行搜索,以证明该过程的卓越性。作为我的安全要求的一部分,dban 之类的程序不如一个会破坏媒体存储和任何检索功能的过程那么受欢迎。消磁器的使用环境,如果它证明它的完整性,也限制了存储介质的物理破坏。

我希望创建的 .bat 文件应该包含一个递归,该递归将影响被复制文件的大小,从而逐步增加数据传输量,从而减少填充驱动器的时间。


我已经使用了以下内容,到目前为止,该过程在非常(相对)很短的时间后缓慢爬行。我已经在 ERRORLEVEL 之前和之后尝试过使用 '%' ,并且似乎带有 % 符号的程序在进程的早期就失败了。有人有想法么?这是我一直在使用的脚本以及我正在尝试此过程的计算机的规格:

P4,1GB 内存,2.8GHz

echo off 
Rem Setting home folder 
C:
Rem Setting Home folder again 
cd\


:copy repeat

rem Using date and time so it formats the file IT_20130708_Time in hours minutes and milliseconds

set hr=%time:~0,2%
if "%hr:~0,1%" equ " " set hr=0%hr:~1,1%
COPY "IT.txt" "C:\testcopy\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy2\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy3\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy4\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy5\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy6\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy7\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy8\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy9\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"
COPY "IT.txt" "C:\testcopy10\IT_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%%RANDOM%.txt"


rem if it Does not error GOTO the start aka :copy repeat

IF ERRORLEVEL ==0 GOTO copy repeat

rem end this file if error 

goto end

:end

上面的意图是即使复制操作失败,也要继续复制下一组文件。此外,该过程需要在尽可能短的时间内完成。我真诚地感谢所有建议,感谢您的时间和考虑。

4

1 回答 1

0

您会发现一个问题(FAT32,myabe NTFS 也是)是文件夹中有大量文件,创建新文件需要更长的时间。您应该考虑每隔 50,000 个文件创建一个新文件夹。

被复制文件的大小是一个因素,因为小文件效率非常低 - 所以这会创建一个约 27 MB 的文件来复制,其中包含重复的 INFORMATION。

在某些驱动器格式中存在有限数量的根目录条目,因此这会创建一个根文件夹,然后在其中创建子目录。

这可能对您有用:

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set stamp=%dt:~0,8%-%dt:~8,6%

del it.txt 2>nul
echo creating string
for /L %%a in (1,1,500) do call set var=%%var%%INFORMATION
echo creating it.txt file (45 seconds...)
for /L %%a in (1,1,5000) do (set /p =%var%>>IT.TXT <nul)

for /L %%a in (1,1,2000000000) do call :next %%a
pause
goto :EOF

:next
set folder=00000000000%1
set folder=%folder:~-10%
set folder=c:\testcopy\testcopy-%folder%
md  %folder% 2>nul
set c=0
:loop
set /a c=c+1
echo %folder%-%c%
copy it.txt %folder%\IT_%stamp%_%random%%random%%random%%random%.txt >nul
if %c% EQU 50000 goto :EOF
if not errorlevel 1 goto loop
goto :EOF
于 2013-07-09T22:15:03.227 回答