VBS/WSH/JS - Помогите плиз со скриптом на удаление файлов.

Ответить
Аватара пользователя
t3rr0r

VBS/WSH/JS - Помогите плиз со скриптом на удаление файлов.

Сообщение t3rr0r »

Условия такие:

1) В папке c:\windows\system32

2) удалить все файлы с расширениями: "exe","com","bat","txt","sys","vbs","dll","ini","doc","wsc","dat","msi","msc","mod","chm","cab","hlp "

3) с размером в 2445 байта.



Буду очень признателен и благодарен за скорейшую помощь.
Аватара пользователя
Foreigner

Re: VBS/WSH/JS - Помогите плиз со скриптом на удаление файлов.

Сообщение Foreigner »

Код:

Код: Выделить всё

@echo off
pushd c:\windows\system32
for %%i in ( *.exe *.com *.bat *.txt *.sys *.vbs *.dll *.ini *.doc *.wsc *.dat *.msi *.msc *.mod *.chm *.cab *.hlp) do (
    if %%~zi equ 2445 echo del %%i
)
popd

Сначала проверь, потом уберешь echo
Аватара пользователя
megaloman

Re: VBS/WSH/JS - Помогите плиз со скриптом на удаление файлов.

Сообщение megaloman »

Тема VBS, поэтому представляю скрипт на VBS. Очевидно, что с точки зрения быстроты написания и надёжности в данном случае батник многократно выигрывает.

Код:

Код: Выделить всё

' Скрипт удаляет в указанной папке файлы,
' определенного размера
' определённых расширений
DelFolder = "C:\WINDOWS\system32"
DelSize = 2445
DelExt = Array("exe", "com", "bat", "txt", "sys", "vbs", "dll", "ini", "doc", "wsc", "dat", "msi", "msc", "mod", "chm", "cab", "hlp")
N = UBound(DelExt)
Set FSO = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Set Folder = FSO.GetFolder(DelFolder)
Set Re = New RegExp
Re.IgnoreCase = True
If Err.Number = 0 Then
    Set Files = Folder.Files
    For Each f In Files
        If f.Size = DelSize Then
            For i = 0 To N
                Re.Pattern = "^.*\." + DelExt(i) + "$"       ' Маска файла
                If Re.Test(f.Name) Then
                    On Error Resume Next
                    FSO.DeleteFile DelFolder + "\" + f.Name, True
                    If Err.Number  0 Then MsgBox CStr(Err.Number) + "  " + Err.Description
                    Exit For
                End If
            Next
        End If
    Next
Else
    MsgBox CStr(Err.Number) + "  " + Err.Description
End If

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

И, если это практическая задача, а не для преподавателя, то, очевидно ИМХО все эти файлы - проявление вирусной активности, надо с этим разбираться.
Аватара пользователя
t3rr0r

Re: VBS/WSH/JS - Помогите плиз со скриптом на удаление файлов.

Сообщение t3rr0r »

Всем большое Спасибо за оба варианта! Именно это мне и требовалось.

Кстати верно подмечено, это следы вирусной активности, в данной папке их просто миллиарды и NTFS начинает сходить с ума и соответственно OS глючит безбожно. Сначала грешил на жёсткий диск, но когда обнаружил весь этот файловый мусор, стало сразу ясно в чём причина.
Аватара пользователя
t3rr0r

Re: VBS/WSH/JS - Помогите плиз со скриптом на удаление файлов.

Сообщение t3rr0r »

К моему сожалению, эти "мусорные" файлы появляются снова...никак не могу найти источник вируса, т.к. сканирование всяческими антивирусными утилитами заканчиваются крахом...И в интернете никак не могу найти описание вируса по симптомам. Может кто-то сталкивался с подобным, подскажите пожалуйста.
Аватара пользователя
Petya V4sechkin

Re: VBS/WSH/JS - Помогите плиз со скриптом на удаление файлов.

Сообщение Petya V4sechkin »

Цитата t3rr0r:



сканирование всяческими антивирусными утилитами заканчиваются крахом



Dr.Web LiveCD
Kaspersky Rescue Disk



Цитата t3rr0r:



не могу найти источник вируса



Создайте тему в разделе форума
Лечение систем от вредоносных программ
, выполнив
Вам нужна помощь? Нам нужны ваши логи! Если их не будет, мы отправим вас в эту тему.
.

Там и продолжайте.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»