Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   нужен скрипт для удаления всех файлов кроме нужных для запуска Windows XP (http://forum.oszone.net/showthread.php?t=152429)

Dark Ange1 06-10-2009 00:28 1235437

нужен скрипт для удаления всех файлов кроме нужных для запуска Windows XP
 
Суть проблемы: на диске С: находится куча мусорных файлов со случайными названиями и расширениями (более 1,3 млн!). Естественно, проводник будет открывть диск С: вечность. Значит нужен скрипт для удаления с помощью коммандной строки или еще как-нить всех файлов, кроме заданных(в идеале прописать имена файлов и расширения) или нужных для запуска Windows XP (booot.ini, bootfont.bin, ntldr, ntdetct.com, io.sys, msdos.sys и т.д.)
Буду благодарен за любые идеи, может кто проги специальные знает - тож покатит=)

amel27 06-10-2009 04:20 1235508

Цитата:

Цитата Dark Ange1
Буду благодарен за любые идеи, может кто проги специальные знает - тож покатит »

если способ не важен, зачем было жестко устанавливать категорию (CMD/BAT) ?

Цитата:

Цитата Dark Ange1
нужен скрипт для удаления с помощью коммандной строки или еще как-нить всех файлов, кроме заданных »

Код:

@Echo Off

Set ROOT=X:
Set EXCL=SysMask.lst

For /F "Delims=" %%i In ('DIR /B/A:-D/S "%ROOT%\*"^|FindStr /IVRG:"%EXCL%"') Do (
  DEL /Q/F "%%i"
)

пример файла SysMask.lst:
Код:

\.com$
\.sys$
.:\\boot\.ini$
.:\\bootfont\.bin$
.:\\ntldr$

X: - диск/папка, в которых искать файлы
SysMask.lst - файл, содержащий маски исключения в формате RegExp (FindStr /?)

- не забыть включить в список исключений сам батник и файл списка;
- файлы с атрибутами скрытый/системный игнорируются;
- пустые папки не удаляются;
- проверить работу фильтра перед запуском.

Bint 14-10-2009 15:09 1242645

а как бы скорректировать работу этого скрипта для удаления из папок профилей в Documents and Settings всех папок кроме "рабочий стол" и "мои документы" причем скрытые и системные файлы и пустые папки тоже сносить?

Dark Ange1 14-10-2009 21:41 1243168

а как скорректировать его так, чтоб только КОРЕНЬ ДИСКА очищался? НО ВСЕ ПАПКИ оставались нетронутыми. А то папка Мои документы ушла в небытие=)

amel27 15-10-2009 06:19 1243384

Цитата:

Цитата Bint
как бы скорректировать работу этого скрипта для удаления из папок профилей в Documents and Settings всех папок кроме "рабочий стол" и "мои документы" причем скрытые и системные файлы и пустые папки тоже сносить »

где-то так:
Код:

@Echo Off
SetLocal EnableExtensions

Set EXCL=%~dpn0.xcl
PushD X:\Documents and Settings ||Exit

For /F "Delims=" %%i In ('DIR /B/A:D') Do For /F "Delims=" %%j In (
 'DIR /B/A:D "%%i"^| FindStr /IVXG:"%EXCL%"^& DIR /B/A:-D "%%i"') Do (
  RD /S/Q "%%i\%%j"|| Attrib -S -H "%%i\%%j"&& DEL /F/Q "%%i\%%j") 2>Nul

содержимое одноимённого XCL-файла фильтра (в DOS-кодировке):
Код:

Desktop
My Documents
Рабочий стол
Мои документы

Цитата:

Цитата Dark Ange1
чтоб только КОРЕНЬ ДИСКА очищался? НО ВСЕ ПАПКИ оставались нетронутыми »

Код:

PushD X:\ ||Exit
For /F "Delims=" %%i In ('DIR /B/A:-D') Do Attrib -H -S "%%i"&& DEL /F/Q "%%i"


Dark Ange1 04-01-2010 02:39 1310296

Цитата:

Цитата Dark Ange1:чтоб только КОРЕНЬ ДИСКА очищался? НО ВСЕ ПАПКИ оставались нетронутыми »
Код: PushD X:\ ||Exit For /F "Delims=" %%i In ('DIR /B/A:-D') Do Attrib -H -S "%%i"&& DEL /F/Q "%%i"
А то же самое, но чтобы системные фалы, которые нужны для загрузки (boot.ini, NTLDR, ntdetect.com, io.sys и проч.)

ziku 04-01-2010 09:29 1310372

Поставь FAR и удаляй с помощью его что заблагорассудится. Он удаляет ВСЕ!!! даже не удаляемое, не переусердствуй.

antonhacktm 08-01-2010 13:47 1314095

Здравствуйте. Извините меня за плохой русский. Я из Болгарии.
У нас есть очень распространенный вирус, который передается через Skype.
Я стараюсь делать сценария для удаления своих файлов. Проблема в том, что каждый компьютер файлы с различными расширениями. До сих пор я собрал более 110.

HTML код:

bqb, bvu, rbs, qiv, wiv, czr, flr, ldv, job, yrk, led, vir, fyf, hpo, oyq, pao, jyl, tuf, ilx, kfa, uro, ayg, dhe, vyl, pyo, vgo, kvx, vah, kvx,  uhq, qak, emw, mxk, pxl, odk, xxb, dmy, pai, kee, hox, rjm, oyh, whx, kdd, fwa, qvk, sfr, nfp, kak, afx, lwr, ieo, dov, ebc, ynt,  kdt, pvc, vpa, pwl, hpo, brm, bby, jqr, wus, dzt, kwy, ckc, osj, ews, zcy, qju, ihp, fbg, myp, nfj, taq, lvz, ddg, rff, ops, ifa, ytt,  bnd, qzo, ssg, xxw, cmu, bqs, mvi, aif, ftv, kvv, cfd, wjq, cku, kvn, axe, xrn, vir, fqr, xze, tgw, uht, zng, ioq, meu, job, oiy, wnf,  cdt, nfp, alf, ref, oiu, peq, foa, lyk, kfa
Пожалуйста, помогите

fomin_ 10-01-2010 23:18 1316738

antonhacktm,
Вам проще составить список расширений файлов, которые нужно оставить, а остальные удалять.
Либо, как вариант, использовать программу аналогичную ShadowUser.
Хотя надо лечить проблему, а не последствия.

antonhacktm 10-01-2010 23:48 1316753

Распространения вируса:

HTML код:

%systemdrive%,%SYSTEMROOT%,%SYSTEMROOT%\system32,%windir%\Prefetch
Как легко удалить вирус. Каждый раз с разными расширениями файлов.

Dark Ange1 07-03-2010 06:55 1362750

Цитата:

Цитата ziku
Поставь FAR и удаляй с помощью его что заблагорассудится. Он удаляет ВСЕ!!! даже не удаляемое, не переусердствуй. »

Ага. а ты пробовал натравить Far на папку с буквально 2000000+ мелкими файлами?

amel27 07-03-2010 13:34 1362892

antonhacktm,

fomin_ дважды прав, поэтому только из спортивного интереса:

1. На чистой системе формируем список допустимых расширений (файл ExtList.txt):
Код:

@Echo Off

Set EXT=ExtList.txt
Set "$X=^^[^^.]*$"
Echo %$X%>"%EXT%"

For /F "Delims=" %%i In (
 'DIR /B/A-D "%SystemDrive%" "%SystemRoot%" "%SystemRoot%\System32" "%WinDir%\Prefetch"'
) Do Find /I "%%~xi$" "%EXT%" >Nul||>>"%EXT%" Echo.\%%~xi$

2. На зараженной фильтруем всё лишнее (Echo перед DEL после тестирования удалить):
Код:

@Echo Off

Set EXT=ExtList.txt

For %%a In (%SystemDrive% %SystemRoot% %SystemRoot%\System32 %WinDir%\Prefetch) Do (
  For /F "Delims=" %%i In ('DIR /B/A-D %%a^|FindStr /VIRG:"%EXT%"') Do Echo DEL /F/Q "%%a\%%i"
)



Время: 06:14.

Время: 06:14.
© OSzone.net 2001-