DeleteDirectory()
Синтаксис
Result = DeleteDirectory(Directory$ , Pattern$ [, Mode])
Описание
Удаляет указанный каталог (директорию).
Параметры
Directory$ Имя (включая путь) каталога, который требуется удалить. Pattern$ Шаблон, определяющий файлы для удаления. Например:
("") или ("*.*") - удалят все файлы в каталоге, каталог будет удалён.
("*.exe") - удалит только EXE-файлы, каталог возможно будет удалён (см. примеры)
Mode (дополн.) Опции для операции удаления. Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'): #PB_FileSystem_Recursive: Удалить каталог со всеми подкаталогами. #PB_FileSystem_Force : Удалить даже защищённые от записи (Read Only) файлы.
Возвращаемое значение
Возвращает не нулевое значение, если каталог был удалён, в противном случае 0 (даже если были удалены файлы).
Примечания
Каталог будет удалён, только если для удаления выбраны все содержащиеся в нём файлы. То есть шаблоны ("") и ("*.*") однозначно позволяют удалить каталог. А шаблон "*.exe" позволит удалить каталог только если он содержит EXE-файлы и более никаких других, при этом, если EXE-файлов не найдено, то удаления каталога не произойдёт, даже если он пуст.
Наглядный Пример вариантов удаления:
; Если в каталоге есть только файлы TXT: DeleteDirectory("c:\PB", "*.txt") ; удалит файлы TXT и каталог, функция возвращает 1 DeleteDirectory("c:\PB", "*.exe") ; не удалит ничего, функция возвращает 0 DeleteDirectory("c:\PB", "*.*") ; удалит файлы TXT и каталог, функция возвращает 1 DeleteDirectory("c:\PB", "") ; удалит файлы TXT и каталог, функция возвращает 1 ; Если в каталоге есть файлы EXE и TXT: DeleteDirectory("c:\PB", "*.txt") ; удалит только файлы TXT, функция возвращает 0 DeleteDirectory("c:\PB", "*.exe") ; удалит только файлы EXE, функция возвращает 0 DeleteDirectory("c:\PB", "*.*") ; удалит все файлы и каталог, функция возвращает 1 DeleteDirectory("c:\PB", "") ; удалит все файлы и каталог, функция возвращает 1 ; Если в каталоге нет никаких файлов: DeleteDirectory("c:\PB", "*.txt") ; не удалит ничего, функция возвращает 0 DeleteDirectory("c:\PB", "*.exe") ; не удалит ничего, функция возвращает 0 DeleteDirectory("c:\PB", "*.*") ; удалит каталог, функция возвращает 1 DeleteDirectory("c:\PB", "") ; удалит каталог, функция возвращает 1
Пример (Фран.)
If FileSize("c:\PB") = -2 If DeleteDirectory("c:\PB", "*.*") Debug "Каталог c:\PB удалён" EndIf EndIf
См. также
CreateDirectory(), ExamineDirectory(), CopyDirectory()
Поддерживаемые OS
Все