Beyond Compare 3 - исключить файлы с именами, уже существующими в другой папке - PullRequest
0 голосов
/ 25 февраля 2019

Это пример моей конфигурации:

  • Источник: у меня 3 папки -> A, B, C
  • Назначение: Другая папка -> DEST

У меня есть сессия для каждого сравнения:

  • A -> DEST
  • B -> DEST
  • C -> DEST

Моя проблема проста, я должен фильтровать при каждом сравнении все имена файлов, которые присутствуют в двух других исходных папках.В качестве примера можно предположить, что эти 3 папки содержат только 9 файлов (очевидно, их тысячи):

  • A, содержащий файлы: 1.txt, 2.txt, 3.txt
  • B, содержащий файлы: 4.txt, 5.txt, 6.txt
  • C, содержащий файлы: 7.txt, 8.txt, 9.txt

Мне нужно отфильтроватьв первом сравнении (A -> DEST) файлы, присутствующие в папках B и C (4.txt, 5.txt, ~ 9.txt), поэтому я могу видеть только, если 1.txt или 2.txt или 3.txtотсутствует или изменен.Очевидно, я не хочу тратить весь свой день, включая имена файлов в фильтре исключаемых файлов.Мне нужно, чтобы автоматически получить все имена файлов из 2 оставшихся папок.Надеюсь, что регулярные выражения могут помочь.

Надеюсь, это понятно.Спасибо

N

1 Ответ

0 голосов
/ 26 февраля 2019

Извините, Beyond Compare не предоставляет хорошего способа сделать это.Он предназначен только для двустороннего сравнения папок.Сравнение многих с одной папкой (3 папки слева, одна папка справа) находится в списке запросов функций для будущей версии, но не имеет запланированной даты выпуска.

Существует три возможных обходных пути:

  1. Скопируйте A во временную папку, B в ту же временную папку, затем C во временную папку.Затем сравните временную папку с DEST.Этот обходной путь невозможен, если вы работаете с большими папками.

  2. Редактировать> Развернуть все , Редактировать> Выбрать все файлы ,затем Действия> Исключить , чтобы отфильтровать выбранные файлы из одного из сравнений.Затем скопируйте фильтр с панели инструментов Filters или с вкладки Name Filters диалогового окна Параметры сеанса и вставьте его в другое сравнение.Фильтры имен хранятся в виде строки, разделенной точкой с запятой, с пределом длины 65 535 символов;этот метод не будет работать для очень большого числа отфильтрованных файлов.

  3. Если имена файлов последовательно в папках A, B и C, введите фильтры имен файлов, которые совпадают с начальными цифрами.Например, используйте фильтр [a-c]*.* на панели инструментов Filters , чтобы сравнивать только имена файлов, начинающиеся с a, b или c.

...