2013-07-09 7 views
0

У меня есть проект, где мне нужно доказать достоинство дегаузера, чтобы полностью стереть все следы файлов на стандартном жестком диске. Я хочу распространять тему HDD с повторяющейся информацией, например, одним словом «информация».Как мне скопировать команду «recurrsion copy»?

Я думаю, таким образом, я могу провести поиск размагниченного диска очень быстро, чтобы доказать превосходство процесса. В рамках моих требований безопасности программы, такие как dBan и т. Д., Менее желательны, чем процесс, который уничтожит способность средств массовой информации функционировать для хранения и любого извлечения. Окружающая среда, в которой будет использоваться дегаузер, если она докажет ее целостность, также ограничивает физическое уничтожение носителей.

. Бат-файл, который я хочу создать, должен содержать рекурсию, которая будет влиять на размер копируемого файла, чтобы постепенно увеличивать объем передачи данных, тем самым уменьшая время заполнения диска.


Я использовал следующее и до сих пор процесс замедляет сканирование после очень (относительного) короткого времени. Я экспериментировал с использованием «%» до и после ERRORLEVEL, и, похоже, с символом% программа выходит из строя на ранней стадии. У кого-нибудь есть идеи? Вот сценарий, я использую и спецификации компьютера я пытаюсь этот процесс через:

P4, 1 Гб оперативной памяти, 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 

Намерение в вышеописанном продолжить копирование следующей группе файлов, даже если в операции копирования произошел сбой. Кроме того, этот процесс необходимо выполнить за короткий промежуток времени. Я искренне ценю все предложения, благодарю вас за ваше время и соображения.

+0

'errorlevel' устанавливается с каждым' copy' команды и от следующего перезаписаны. Вы не можете проверить блок 'copy'. – Endoro

+0

Благодарим за редактирование, довольно длинное в оригинале, теперь выглядит намного лучше! –

ответ

0

Одна проблема, которую вы обнаружите (FAT32, myabe NTFS тоже), заключается в том, что при большом количестве файлов в папке требуется больше времени для создания новых файлов. Вы должны посмотреть на создание новой папки, каждая из которых скажет 50 000 файлов.

Размер копируемого файла является фактором, поскольку небольшие файлы очень неэффективны - так что это создает файл размером ~ 27 МБ для копирования с повторяющейся в нем информацией.

В некоторых форматах дисков имеется конечное количество записей в корневом каталоге, поэтому в нем создается одна корневая папка, а затем подкаталоги.

Это может работать для вас:

@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 
+0

Самая отличная презентация информации и очень ценится! Я расскажу об этом в нашем процессе и расскажу об итогах. Очень впечатляющее и полезное сообщество людей. Спасибо за ваш вклад –