Здравствуйте!
Кто может поделитесь опытом отбора файлов в каталоге по дате изменения.
Количество обрабатываемых файлов более 300тыс.
На данный момент использую поиск по маске и перебор по файл.ПолучитьВремяИзменения(). Решение получается очень долгое.
Хочу ускорить за счёт откидывания файлов с датой изменения менее требуемой.
Переискал много информации, но решения так и не нашёл.
Склоняюсь к тому, что средствами 1С не решить и надо использовать сторонний метод.
Дайте импульс, куда смотреть. Спасибо.
AleksWhite7 @ Вчера, 16:23
,
Насчет стороннего метода - идея правильная, и выбор огромный.
Вот и начал двигаться в эту сторону.
Пока есть батничек
@echo off
::введите маску для искомых файлов
set mask=*.*
::исходная папка
set src="D:\Мой каталог"
::Будем отбирать файлы изменённые от даты. Формат даты dd.MM.yyyy
set mydate=+1.1.2018
:: Засекаем время начала скрипта
set _time=%time%
set /a _hours=100%_time:~0,2%%%100,_min=100%_time:~3,2%%%100,_sec=100%_time:~6,2%%%100,_cs=%_time:~9,2%
set /a _started=_hours*60*60*100+_min*60*100+_sec*100+_cs
forfiles /p %src% /m %mask% /d %mydate% /c "cmd /c echo @fname;@ext;@fdate @ftime" >> Findfiles.txt
:: Определяяем время завершения работы
set _time=%time%
set /a _hours=100%_time:~0,2%%%100,_min=100%_time:~3,2%%%100,_sec=100%_time:~6,2%%%100,_cs=%_time:~9,2%
set /a _duration=_hours*60*60*100+_min*60*100+_sec*100+_cs-_started
:: заполнение переменных
set /a _hours=_duration/60/60/100,_min=100+_duration/60/100%%60,_sec=100+(_duration/100%%60%%60),_cs=100+_duration%%100
echo Done at: %_time% took : %_hours%:%_min:~-2%:%_sec:~-2%.%_cs:~-2%
AleksWhite7 @ Сегодня, 15:13
,
Тоже вариант. Мне привычнее Perl/Python/Go.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua