Передать формат файла для сравнения через командную строку

Мне удалось активировать вне сравнения с помощью командной строки:

"C:\Program Files\Beyond Compare 4\BComp.exe"  /qc /iu /K  "file1.c" "file2.c" & echo %errorlevel & exit

это позволяет мне получить результат сравнения в переменной cmd ERRORLEVEL.

Я не хочу устанавливать формат файла, используемый для этого сравнения. Вручную, я могу установить его через графический интерфейс через кнопку "формат" на ленте.

Кто-нибудь знает, как это можно сделать? Я посмотрел в справочнике сценариев вне сравнения, но безрезультатно.

благодарю вас! Джек

1 ответ

Решение

Beyond Compare не поддерживает форсирование формата файла с помощью переключателя командной строки.

Если расширение файла.c, Beyond Compare будет использовать встроенный формат файла C/C++. Чтобы использовать другой формат файла, откройте " Инструменты"> "Форматы файлов". Используется самый высокий формат файла в списке с соответствующей маской файла. Чтобы принудительно использовать формат файла независимо от маски, переместите его в начало списка и установите маску файла на *.*,

Информацию о поддерживаемых параметрах командной строки смотрите в разделе Справочник по командной строке в файле справки Beyond Compare.

Это немного другой вариант использования. Я часто сравниваю некоторые JSON, которые я скопировал с чем-то другим. Оба фрагмента существуют в менеджере буфера обмена, который хранит историю буфера обмена.

Если вы используете ZSH, вы можете использовать процесс подстановки, чтобы сделать это следующим образом (обратите внимание на =()):

bcomp -fv="Text Compare" =(pbpaste) =(pbpasteother)

Выше генерируются временные файлы, в которых хранятся выходные данные команд (pbpaste, pbpasteother и т. д.), а затем отправляет их в Beyond Compare, который не является мудрее. Единственное заметное это то, что вы используете bcomp это имя инструмента командной строки, который устанавливает Beyond Compare, который ожидает код возврата

Однако приведенное выше не позволяет мне сравнивать фрагменты как JSON.

Однако с ZSH можно также установить расширение:

(TMPSUFFIX=.json; bcomp -fv="Text Compare" =(pbpaste) =(pbpasteother) )

Мы хотим сделать вышеупомянутое в подоболочке, чтобы не влиять на окружение текущей оболочки.

И это работает!

Другие вопросы по тегам