У меня есть два текстовых файла mount.txt и mount2.txt и я пытался отделить новые строки (строки, которые не были в mount.txt, но находятся в mount2.txt) от старых строк (строки, которые были в mount.txt, но находятся не в mount2.txt). Я знаю, что это должно быть возможно с чем-то вроде:

fc mount.txt mount2.txt >out.txt
for /F "tokens=*" %%A in  (out.txt) do (
 ::separate Line)

Вывод команды fc выглядит следующим образом:

Comparing files mount.txt and MOUNT2.txt
***** mount
ITCMDLogo
CBS
***** MOUNT2
Logo
ITCMDSecondLogo
CBS
*****

***** mount
MozillaPlugins
Acknowledgements
ReadMe\Palemoon-Portable-license.txt
***** MOUNT2
MozillaPlugins
ReadMe\Palemoon-Portable-license.txt
*****

Я не совсем понимаю, как именно это сделать, так как я все еще начинаю изучать циклы for /f и setlocals .

1 ответ1

0

Вместо fc используйте findstr с параметрами:

 /V         Prints only lines that do not contain a match.
 /I         Specifies that the search is not to be case-sensitive.
 /B         Matches pattern if at the beginning of a line.
 /E         Matches pattern if at the end of a line.
 /G:file    Gets search strings from the specified file(/ stands for console).

Вы можете собрать варианты только с одним /

> findstr /VIBELG:mount.txt <mount2.txt
Logo
ITCMDSecondLogo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .