PureBasic

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

Все

<- CreateDirectory() - Оглавление FileSystem - DeleteFile()->