Функция Удаляет указанные файлы.
УдалитьФайлы(<Путь>, <Маска>)
Параметры: <Путь> (обязательный) Тип: Строка. Путь к удаляемым файлам.
<Маска> (необязательный) Тип: Строка. Маска для выбора удаляемых файлов. В строке маски допускается использование символа "*" (звездочка), обозначающего любое число произвольных символов, и "?" (знак вопроса), обозначающего один произвольный символ.
!!! — Если <Маска> не указана, то удаляются все файлы и каталог <Путь>.
Для удаления одного файла, можно передать его полное имя через первый параметр, либо передать путь к нему через первый параметр, а его короткое имя — через второй.
Удаление файлов производится, если в указанных файлах не установлено свойство "Только чтение". В противном случае возникает сообщение об ошибке.
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
1 2 3 4 5 6 |
// Удаление каталога и всех вложенных в него каталогов и файлов Попытка УдалитьФайлы("C:\temp\Works"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; |
1 2 3 4 5 6 7 8 |
// Удалим в каталоге все файлы CSV Попытка УдалитьФайлы(КаталогВыгрузкиДанных, "*.csv"); Исключение #Если Клиент Тогда Сообщить(ОписаниеОшибки()); #КонецЕсли КонецПопытки; |
В 7-рке для удаления используется
1 2 3 |
ФС.УдалитьКаталог(Стр); //или ФС.УдалитьФайл(Стр); |
Как удалить каталог с файлами?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
// пример привел smaharbA //Данный пример не работает, если в папке есть файлы с атрибутами только для чтения и системные Функция Рекурсия(Знач Путь,Сп) Перем А; ФСО=СоздатьОбъект("ФС"); Стр=ФСО.НайтиПервыйФайл(Путь+"\*.*"); Пока ПустоеЗначение(Стр)=0 Цикл Если (Стр<>"..") и (Стр<>".") Тогда Представление=""; Для к=1 По СтрЧислоВхождений(Путь+"\"+Стр,"\") Цикл Представление=Представление+"\"; КонецЦикла; Сп.ДобавитьЗначение(Путь+"\"+Стр,Представление+Стр); ФСО.АтрибутыФайла(Путь+"\"+Стр,,А); Если Сред(А,4,1)="1" Тогда Рекурсия(Путь+"\"+Стр,Сп); КонецЕсли; КонецЕсли; Стр=ФСО.НайтиСледующийФайл(); КонецЦикла; КонецФункции // Рекурсия //******************************************* Процедура Сформировать() Перем Каталог,А; Если ФС.ВыбратьКаталог(Каталог,"")=0 Тогда Возврат; КонецЕсли; Сп=СоздатьОбъект("СписокЗначений"); Рекурсия(Каталог,Сп); Сп.СортироватьПоПредставлению(0); Для к=1 По Сп.РазмерСписка() Цикл Стр=Сп.ПолучитьЗначение(к); ФС.АтрибутыФайла(Стр,,А); Если Сред(А,4,1)="1" Тогда ФС.УдалитьКаталог(Стр); Иначе ФС.УдалитьФайл(Стр); КонецЕсли; КонецЦикла; ФС.УстТекКаталог(Каталог+"\..\"); ФС.УдалитьКаталог(Каталог); КонецПроцедуры |