Я знаю, что есть пост, похожий на этот: здесь .
Я попытался использовать comp
команду, как она упоминала, но если у меня есть два файла, один с данными типа «abcd», а другой с данными «abcde», он просто говорит, что файлы имеют разные размеры. Я хотел знать, где именно они отличаются. В Unix простой diff говорит мне, какую строку и столбец команда comp в windows работает, если у меня есть что-то вроде «abd» и «abc». Не иначе. Есть идеи, что я могу использовать для этого?
284
FC path1\* FC path2\*
сравнил бы все файлы в папкахpath1
иpath2
, если они (файлы) имеют одинаковые имена. Если есть файлы с несовпадающими именами, FC сообщит об отсутствующем файле, но только для файлов первой папки, которые не . «т находится во второй папке и не наоборот , чтобы поймать все несовпадения, другой метод, вероятно , будет необходим.files in both directories are diff'd; files in only one directory throw errors.
» Интересно. Но наверняка есть сторонняя программа, эквивалентная diff?Ну, на Windows я с удовольствием запускаю
diff
и многие другие инструменты GNU. Вы можете сделать это с Cygwin , но я лично предпочитаю GnuWin32 потому что это намного легче в установке.Итак, мой ответ таков: эквивалент Windows
diff
- это не что иное, как онdiff
сам!источник
diffutils
. См. Cygwin.com/cgi-bin2/…У Winmerge есть утилита командной строки, которую стоит проверить.
Кроме того, вы также можете использовать графическую часть в зависимости от того, что вам нужно.
источник
Другой вариант - скачать и установить git отсюда . Затем добавьте путь
Git\bin\
к вашейPATH
переменной. Это даст вам не только diff, но и множество других команд linux, которые вы можете использовать из командной строки Windows.Вы можете установить
PATH
переменную, щелкнув правой кнопкой мыши Компьютер и выбрав Свойства. Затем вы можете нажать на Дополнительные параметры системы в левой части экрана. Во всплывающем окне выберите «Переменные среды», а затем добавьте или измените переменную PATH в пользовательских переменных с помощьюGit\bin\
Git diff документация
источник
git...
доступные исполняемые файлы из PATH. Более того, ответ, вероятно, должен включать одну важную информацию: вам нужно запустить инструмент diff, написавgit diff
, а не простоdiff
.diff
ФК отлично работает, в моем случае это было бесполезно, так как я хотел просто изменить строки. И FC дает дополнительные данные, такие как имя файла, те же строки и двустороннее сравнение.
но в моем случае я хотел, чтобы только строки изменились, и хотел, чтобы эти строки экспортировались в другой файл без какого-либо другого заголовка или данных.
Поэтому я использовал "findstr" для сравнения файла:
где :
data.txt.bak
это имя старого файлаdata.txt
это имя нового файлаDiffResult.txt
содержит измененные данные, т.е. только одну строку #### 09источник
Ь. fc лучше обрабатывает большие файлы (> 4 Гбайт), чем diff Cygwin.
источник
Также есть Powershell (который является частью Windows). Это не быстро, но гибко, вот основная команда. Люди написали различные командлеты и сценарии для этого, если вам нужно лучшее форматирование.
Не является частью Windows, но если вы разработчик с Visual Studio, он поставляется с WinDiff (графический)
Но мой личный фаворит - BeyondCompare, который стоит 30 долларов.
источник
DiffUtils , вероятно, ваш лучший выбор . Это Windows-эквивалент diff.
Насколько мне известно, нет встроенных эквивалентов.
источник
Причина, по которой вы получаете сообщение об ошибке в COMP, заключается в том, что утилита предполагает, что сравниваемые файлы имеют одинаковый размер. Чтобы преодолеть это, вы можете использовать
'/n'
опцию, с помощью которой вы можете указать количество строк, которые вы хотите сравнить. (посмотрите параметры, поддерживаемые comp, набрав'comp /?'
в командной строке. Ваша команда будет выглядеть так:Это должно решить вашу проблему, если вы хотите использовать COMP. Но это будет проблемой для действительно больших файлов.
Хотя
comp
это вариант, но я чувствую, что это примитивный иFC
лучший вариант. Вы можете использоватьFORFILES
иFC
вместе, чтобы, вероятно, сделать действительно хорошую утилиту сравнения файлов, если она вам нужна часто.ФК используется таким образом для ссылки:
Есть много вариантов, которые вы можете увидеть,
'fc /?'
надеюсь, это поможетисточник
Я нашел легкое графическое программное обеспечение для окон, которое кажется полезным при отсутствии
diff
команд. Это может решить все мои проблемы.WinDiff http://www.grigsoft.com/download-windiff.htm
источник
Окном, эквивалентным команде diff, является команда fc (File Comapre).
Вот основные шаги для этого:
1. Храните два файла в папке (например, file1.html и file2.html)
2. Запустите командную строку
3. Введите fc file1Location file2Location
Нашли подробное руководство по тому же:
http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/
источник
Я не знаю, является ли следующий инструмент именно тем, что вам нужно. Но я люблю использовать для определенных файлов какой-то онлайн-инструмент. Таким образом, я могу использовать его независимо от операционной системы. Вот пример: diffchecker.com
Но для моих нужд, я думаю, лучший инструмент для отслеживания изменений и журналов файлов моего проекта - это GIT. Если вы работаете в команде, вы можете сделать репо онлайн на своем сервере или использовать его с Bitbucket или Github.
Надеюсь, это кому-нибудь поможет.
источник
Если вы установили git на свой компьютер, вы можете открыть терминал git и просто использовать команду Linux
diff
как обычно.источник