' Имя файла - DeleteFoldersFilesLAN.vbs
'======================== Описание =====================================
' Удаление папок и файлов в заданной директории
' (системные и скрытые файлы в первом уровне не удаляются)
' Автор: Аверин Андрей (icq 601298959) и Алексей Галаш (icq 202904)
' Версия: 1.7 beta (19.07.2012 03.25 Almaty)
' Mail: Averin-And@yandex.ru and
matrixdrag@mail.ru ' Site: http://tc-image.3dn.ru/forum/3-579-2620-16-1342628284
'========================================================================
' ----------- Диалог запроса пассворда ----->
rr = "Для продолжения введите 6-ти значный пароль." : s = "и"
Do
If k > 2 Then : MsgBox "Попытки ввода пароля закончились, приложения закрыто!", 64, "Ошибка" : WScript.Quit : End If
pas = InputBox(rr, "Авторизация") : rr = "Пароль не верен. Введите пароль заново." & vbNewLine & vbNewLine & vbNewLine & vbNewLine & vbNewLine & "Осталось - " & 2 - k & " попытк" & s & " ввода" : k = k + 1 : s = "а"
If pas = Cancel Then WScript.Quit : end if
Loop While pas <> "8598"
' ------------ Ввод номера ПК -------------->
c = "Введите номер ПК в сети <от 1-10>"
For k = 1 To 11
If k > 10 Then : MsgBox "Слишком много не правильных вводов значения", 64, "Ошибка" : WScript.Quit : End If
pc = InputBox(c, "", "0") : c = "Вы вели не верный номер ПК, введите номер ПК <от 1-10>"
If pc = Cancel Then WScript.Quit : end if
If pc > 0 And pc < 11 Then Exit For
Next
ProcessingNetwork(pc)
' Функция обработки сетевых дисков и файлов, где PPC - номер компьютера
Function ProcessingNetwork(PPC)
k = 0 : p = 0
FolderPath = "\\Pc" & PPC & "\l" ' задать свою папку
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(FolderPath)
'Начинаем поиск папок для удаления
For Each FF In oFolder.SubFolders
Atr = FF.Attributes
If Instr("18;19;20;21;22;23", Atr) = 0 Then
On Error Resume Next
FSO.GetFolder(FF.Path & "\").Delete(true) : p = p + 1
End If
Next
Set oFileCollection = oFolder.Files
'Начинаем поиск файлов для удаления
For Each oFile in oFileCollection
Atr = oFile.Attributes
If Instr("34;38;2;4", Atr) = 0 Then
oFile.Delete(true) : k=k+1
End If
Next
MsgBox "На компьютере №" & PPC & " в папке " & FolderPath & vbNewLine &_
"-----------------------------------------------" & vbNewLine &_
"Количество удаленных файлов: " & k & vbNewLine &_
"Количество удаленных папок: " & p, 64, "Удаление файлов и папок"
Set FSO = Nothing : Set oFolder = Nothing : Set oFileCollection = Nothing : WScript.Quit
End Function