File.Delete
Описание
Удаление файла.
ПараметрыSource
(строка) Путь к файлу, который нужно удалить. Для удаления нескольких файлов в этом поле можно использовать подстановочные знаки * и ?.
Recurse
(логический) Делать ли рекурсию вложенных папок при использовании подстановочных знаков в параметре Source:
AbortOnFail
(логический) Прерывать ли операцию удаления при возникновении ошибки:
IncludeHiddenFiles
(логический) Удалять ли файлы, которые имеют установленные атрибуты "скрытый" или "системный":
CallbackFunction
(функция) Имя функции, которая будет вызываться всякий раз, при прохождении операции удаления.
(Можно использовать эту возвращающуюся функцию для отображения прохождения процесса удаления, своим собственным способом.)
Примечание: Если в CallbackFunction установлено значение nil, тогда информация о протекании процесса будет отправлена во встроенное диалоговое окно состояния, предполагая что оно в настоящий момент видимое. (Можно показать или скрыть диалоговое окно состояния действиями StatusDlg.Show или StatusDlg.Hide соответственно.) Возвращающаяся функция должна иметь возможность принять следующие параметры: Source(строка) Путь к источнику удаляемого файла.Deleted(число) Количество байтов, удаленных на настоящий момент.Total(число) Общее количество байтов, которые будут удалены. Возвращающая функция должна возвращать логическое значение (истина (true) или ложь (false)), показывающее следует ли продолжать операцию удаления:
Возврат
Ничего. Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
Смотрите также: Связанные действия
ПримерыПример 1File.Delete("AutoPlay\\Docs\\*.txt");Удаляем все текстовые файлы в папке "AutoPlay\Docs" и не заходим в любые вложенные папки внутри "AutoPlay\Docs", для поиска файлов, оканчивающихся на .txt. Пример 2File.Delete(_TempFolder .. "\\install.log", false, false, true, CB_Delete);Удаляем файл по имени "install.log" из временной папки пользователя. Действие не делает рекурсию вложенных папок, не прерывает операцию удаления при ошибке, и удаляет файлы с установленными атрибутами "скрытый" или "системный". Функция по имени CB_Delete будет вызываться всякий раз, когда происходит операция удаления(т.е. каждый раз при удалении n-ного количества байтов). Пример 3-- Gets the path to the user's My Documents folder. -- Получаем путь к папке пользователя Мои документы. my_docs_path = Shell.GetFolder(SHF_MYDOCUMENTS); -- Check to see if the My Documents folder detection was successful. -- Смотрим, было ли успешным обнаружение папки Мои документы. if (Application.GetLastError() == 0)then -- Search the user's My Documents folder for the file "Data.ini". -- Поиск в папке пользователя Мои документы файл "Data.ini". search_results = File.Find(my_docs_path, "Data.ini", true, false, nil); -- Check to see if an error occurred during the search. If it did, display the error message. -- Проверяем, не было ли ошибки при поиске. Если была ошибка, показываем сообщение об ошибке. error = Application.GetLastError(); if error ~= 0 then Dialog.Message("Error", _tblErrorMessages[error]); else -- If no files were found, notify the user. -- Если файлы не были найдены, извещаем пользователя. if (search_results == nil) then Dialog.Message("Notice", "Data.ini was not found in your My Documents folder."); -- If files were found, display a dialog containing a list of their locations. -- Also ask for deletion confirmation. -- Если файлы были найдены, показываем диалоговое окно сообщения со списком их размещения. -- Также запрашиваем подтверждение удаления. else message = "Data.ini was found in the following location(s). Click OK to delete the file(s):\r\n\r\n"; for index, path in pairs(search_results) do message = String.Concat(message, path .. "\r\n"); end proceed = Dialog.Message("File Search Results", message, MB_OKCANCEL, MB_ICONQUESTION, MB_DEFBUTTON1); -- If the user clicked OK, delete all of the files found. -- Если пользователь кликнул OK, удаляем все найденные файлы. if proceed == IDOK then -- Delete each file found in the search. -- Удаляем каждый файл найденный при поиске. for index, path in pairs(search_results) do File.Delete(path, false, false, false, nil); -- Check to see if any errors occurred during the deletion. -- Смотрим, не произошло ли ошибки при выполнении удаления. if (Application.GetLastError() ~= 0) then Dialog.Message("Error", "The file located at: " .. path .. " could not be deleted."); end end end end end endВ этом примере используется действие File.Find для поиска всех копий указанного INI файла в папке пользователя Мои документы. Если файл был найден более чем в одном расположении, пользователю представляется список и спрашиваем, нужно ли удалить их. Если пользователь согласен, каждая копия файла удаляется при помощи действия File.Delete.
Смотрите также: Связанные действия
|