20.07.2007, 16:57
общий
это ответ
Здравствуйте, Muhammedov Abdurohman!
Этот код удаляет файлы *.MP3 с диска С:\ имейте в виду, что в папке Windiws находятся системные файлы *.avi и удалять естественно нельзя, будьте осторожны!
Private Sub Комманда1_Click()
Путь = "C:" ‘ Указывает путь.
Имя_папки = Dir(Путь, vbDirectory) ‘ Возвращает первый элемент.
Do While Имя_папки <> "" ‘ Начинает цикл. Игнорирует текущий каталог и каталог предыдущего уровня.
If Имя_папки <> "." And Имя_папки <> ".." Then ‘ Использует поразрядное сравнение для проверки того, является ли Имя_Папки каталогом.
If (GetAttr(Путь & Имя_папки) And vbDirectory) = vbDirectory Then
Колич_папок = Колич_папок + 1 ‘ Выводит элемент только в том случае, если это каталог.
Метка1.Caption = Колич_папок & " найдено"
Список_папок = Список_папок & Путь & Имя_папки & Chr(10)
End If
End If
Имя_папки = Dir ‘ Возвращает следующий элемент.
DoEvents
Loop
Do While i <> Len(Список_папок)
i = i + 1
ОдинСимвол = Mid(Список_папок, i, 1)
строка = строка + ОдинСимвол
If Asc(ОдинСимвол) = 10 Then
Путь = Mid(строка, 1, Len(строка) - 1) & ""
Имя_папки = Dir(Путь, vbDirectory)
Do While Имя_папки <> ""
If Имя_папки <> "." And Имя_папки <> ".." Then
If (GetAttr(Путь & Имя_папки) And vbDirectory) = vbDirectory Then
Колич_папок = Колич_папок + 1
Метка1.Caption = Колич_папок & " папок найдено"
Список_папок = Список_папок & Путь & Имя_папки & Chr(10)
End If
End If
Имя_папки = Dir ‘ Возвращает следующий элемент.
DoEvents
Loop
строка = ""
End If
Loop
i = 0
Колич_папок = 0
Do While i <> Len(Список_папок)
i = i + 1
ОдинСимвол = Mid(Список_папок, i, 1)
строка = строка + ОдинСимвол
If Asc(ОдинСимвол) = 10 Then
Путь = Mid(строка, 1, Len(строка) - 1) & ""
Имя_файла = Dir(Путь & "*.mp3")
Do While Имя_файла <> ""
Kill Путь & Имя_файла
Колич_папок = Колич_папок + 1
Метка2.Caption = Колич_папок & " файлов удалено"
Имя_файла = Dir
Loop
строка = ""
End If
DoEvents
Loop
End
End Sub