Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Функция "НайтиФайлы" и маска отбора (для вер. 8.3.10.2561)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
AleksWhite7
Здравствуйте!
Имеется огромное количество файлов (более 300 тыс)
Необходимо из всего этого хлама отобрать строго определённые по маске.
Использую функцию НайтиФайлы(Каталог, Маска);
Проблема в том, что если использую маски
B_*_01????????.xml и B_*_06????????.xml
файлы отбираются. Количество отобранных файлов больше нуля.

Но стоит их объединить в B_*_0[6,1]????????.xml или B_*_0[61]????????.xml или B_*_0[1-6]????????.xml
поиск прекращается. Количество отобранных файлов ноль.

В "Синтаксис-помошнике" написано
Цитата
"[" - класс символов. После открывающей квадратной скобки указывается последовательность символов. Паттерн соответствует любому из указанных символов. Можно указывать диапазон, используя "-". Описание класса символов завершается "]".


Где туплю или это баг 1С?
Спасибо.
Vofka
А если попробовать [123456]?
AleksWhite7
Vofka @ Сегодня, 11:10 необходимо зарегистрироваться для просмотра ссылки ,
Да пробовал.
Прикол в том, что как только в маску включаю скобки [], поиск прекращается 64000000.gif
podcast
AleksWhite7 @ Сегодня, 11:15 необходимо зарегистрироваться для просмотра ссылки ,
Этот вариант самый правильный B_*_0[1-6]????????.xml, может ошибка не в скобках, попробуйте всё что перед ними убрать.
Vofka
А может надо так НайтиФайлы(Каталог, Маска, Истина)?
Petre
AleksWhite7 @ Today, 10:51 необходимо зарегистрироваться для просмотра ссылки ,
В Linux-е работаете или в MacOS?
AleksWhite7
Vofka @ Сегодня, 11:30 необходимо зарегистрироваться для просмотра ссылки ,
Последний параметр поиск в подкаталогах. Он у меня равен Ложь.


Petre @ Сегодня, 11:30 необходимо зарегистрироваться для просмотра ссылки ,
В MS Windows.

ОкGoogle - не помогает sad.gif

Странно, что никто не использует НайтиФайлы со сложными масками.

В общем пока решил разбить задачу на две подзадачи. Искать не одним запросом, а двумя. Без использования скобок.
А потом результат объединю.

Как по мне это косяк 1С:Предприятие, но точно утверждать не могу.
Petre
AleksWhite7 @ Today, 12:20 необходимо зарегистрироваться для просмотра ссылки ,
Приведу более полную выдержку из сп:
QUOTE
Для операционной системы MS Windows:
В строке маски, помимо обычных символов, допускается использование символа "*" (звездочка), обозначающего любое число произвольных символов, и "?" (знак вопроса), обозначающего один произвольный символ.

Для операционных систем Linux, MacOS:
В строке маски допускается использование следующих последовательностей:
- любой символ, допустимый в имени файла. Сопоставление указанных символов производится с учетом регистра;
- "*" (звездочка) - любая последовательность символов;
- "?" (знак вопроса) - любой символ;
- "[" - класс символов. После открывающей квадратной скобки указывается последовательность символов. Паттерн соответствует любому из указанных символов. Можно указывать диапазон, используя "-". Описание класса символов завершается "]". Для указания "-" в качестве символа класса нужно указать его первым или последним символом. Если после "[" указан знак "!", то класс описывает все символы, кроме указанных.
AleksWhite7
Petre @ Сегодня, 12:47 необходимо зарегистрироваться для просмотра ссылки ,

Спасибо. Что-то в упор не видел строки "Для операционных систем Linux, MacOS: " faceoff.gif

Всё одно бок 1С sad.gif Разделять для разных ОС

Ну тогда разделяю на две маски и потом объединяю результаты.

Спасибо за помощь. Тему можно закрывать.
Petre
QUOTE (AleksWhite7 @ 06.03.18, 13:19) необходимо зарегистрироваться для просмотра ссылки
Всё одно бок 1С sad.gif Разделять для разных ОС

В данном случае 1с просто не изобретает собственный велосипед, а использует при поиске файлов исключительно возможности ос.
AleksWhite7
Теперь понятно.

А может подскажете как организовать отбор по дате создания?
А то поиск по маске и перебор и отсеивание по файл.ПолучитьВремяИзменения() получается очень долго.

Или создать отдельную тему?
Спасибо
logist
Цитата(AleksWhite7 @ 06.03.18, 15:06) необходимо зарегистрироваться для просмотра ссылки
создать отдельную тему?

+
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.