По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) В этой функции нельзя указать несколько расширений файлов.
НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>)
Маска - это не Фильтр. Нельзя указать разделитель символов "|" (вертикальная черта).
Пользуйтесь вот этим:
НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>)
Маска - это не Фильтр. Нельзя указать разделитель символов "|" (вертикальная черта).
В строке маски допускается использование следующих последовательностей:
любой символ, допустимый в имени файла. Сопоставление указанных символов производится с учетом регистра;
"*" (звездочка) - любая последовательность символов;
"?" (знак вопроса) - любой символ;
"[" - класс символов. После открывающей квадратной скобки указывается последовательность символов. Паттерн соответствует любому из указанных символов. Можно указывать диапазон, используя "-". Описание класса символов завершается "]". Для указания "-" в качестве символа класса нужно указать его первым или последним символом. Если после "[" указан знак "!", то класс описывает все символы, кроме указанных.
любой символ, допустимый в имени файла. Сопоставление указанных символов производится с учетом регистра;
"*" (звездочка) - любая последовательность символов;
"?" (знак вопроса) - любой символ;
"[" - класс символов. После открывающей квадратной скобки указывается последовательность символов. Паттерн соответствует любому из указанных символов. Можно указывать диапазон, используя "-". Описание класса символов завершается "]". Для указания "-" в качестве символа класса нужно указать его первым или последним символом. Если после "[" указан знак "!", то класс описывает все символы, кроме указанных.
Пользуйтесь вот этим:
ИмяКаталога = "C:\Users\Desktop\Тест";
ИскатьВПодкаталогах = Истина;
МассивМасок = Новый Массив;
МассивМасок.Добавить("*.txt");
МассивМасок.Добавить("*.xlsx");
МассивФайлов = Новый Массив;
Для Каждого Маска Из МассивМасок Цикл
ОбщегоНазначения.ЗаполнитьМассивУникальнымиЗначениями(МассивФайлов, НайтиФайлы(ИмяКаталога, Маска, ИскатьВПодкаталогах));
КонецЦикла;
Если МассивФайлов.Количество() > 0 Тогда
Для Каждого ЭлементФайл Из МассивФайлов Цикл
Сообщить(ЭлементФайл.Имя);
// тут ваша обработка каждого файла
КонецЦикла;
Иначе
Сообщить("Файлы не найдены.");
КонецЕсли;
Показать
(6) хотел такого избежать, но видимо придется.
на одном из форумов нашел такой код
но у меня он не сработал
на одном из форумов нашел такой код
Функция ПолучитьФильтрИзображений() Экспорт
Возврат
"Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|" +
"Формат bmp (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|" +
"Формат jpeg (*.jpg;*.jpeg)|*.jpg;*.jpeg|" +
"Формат tiff (*.tif)|*.tif|" +
"Формат gif (*.gif)|*.gif|" +
"Формат png (*.png)|*.png|" +
"Формат icon (*.ico)|*.ico|" +
"Формат метафайл (*.wmf;*.emf)|*.wmf;*.emf|";
КонецФункции // ПолучитьФильтрИзображений()
Показатьно у меня он не сработал
Можно искать *.*, отбрасывая ненужное:
Расширение = ВРЕГ(Файл.Расширение);
Если НЕ (
Расширение = ".DOC"
ИЛИ Расширение = ".DOCX"
ИЛИ Расширение = ".XLS"
ИЛИ Расширение = ".XLSX"
ИЛИ Расширение = ".PDF"
) Тогда
Продолжить;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот