xls-collector

xlsCollector

Категория Программы
Статус Open-source
Год 2022

Иногда нужно скопировать несколько файлов из одной папки в другую, список которых находится в электронной таблице. Например такая задача может возникнуть при подготовке сопроводительных документов для таможенного брокера при организации вывоза приборов и инструментов за границу.

Для этих целей была разработана утилита File_collector, которую можно скачать из репозитария на GitHub и свободно использовать.

Входные параметры

При запуске утилиты предлагается указать следующие входные параметры для запуска процесса копирования:

  • input file - входной файл xls со списком названий файлов для копирования
  • Source folder - базовый каталог для поиска файлов
  • Destination folder - каталог куда будут копироваться файлы
  • Header text - тест заголовка столбца таблицы со списком файлов
  • Extension - расширение файлов (подставляется к названию файла при поиске)
  • Copy optional files - опция копирования невыбранных файлов в выходную подкатегорию /options

Описание работы

  1. Утилита ищет в указной таблице ячейку, которая содержит текст, содержащийся в поле Header text
  2. Предполагается, что под найденной ячейкой таблицы находится список ячеек, содержавших названия файлов для копирования. Причем в одной ячейке может нажодится несколько названий. разделенных или запятыми, или пробелами.
  3. Названия файлов из сформированного списка с заданным расширением ищутся в каталоге source folder и во всех его вложенных подкаталогах.
  4. При этом если в указанных каталогах находится несколько файлов с одинаковыми названиями, то для последующего копирования выбирается файл с наибольшим количеством повторений (анализируется размер и содержимое файлов).
  5. Если выбрана опция Copy optional files, то из оставшихся файлов убираются все дубликаты по содержимому и оставшиеся уникальные файлы копируются в подкатегорию options. При этом к каждому названию уникального файла добавляется цифровой индекс.