Привет, сообщество StackOverflow!
У меня есть ПАКЕТНЫЙ вопрос, который мучает меня уже несколько дней: я пытаюсь провести сравнение укусов (звучит просто), но я делаю это следующим образом: у меня есть две папки: SESSIONS и TARGETS. В каждой из этих папок есть обычные текстовые файлы, названные в честь сервера: Server1.txt, Server2.txt, Server3.txt и т. д. В обеих папках есть файлы с одинаковыми именами. Имена файлов важны только потому, что, прочитав их, я буду знать, где разместить информацию, содержащуюся в этом файле. Пример:
SESSIONS-->Server1.txt
Word_one
Word_two
Word_three
word_sevenЦЕЛИ-->Server1.txt
Word_one
Word_two
Word_seven
Это код, который я использую для обхода папок Sessions и Targets:
FOR %%a in (%ses_dir%*.txt) DO (
FOR /F "TOKENS=1 DELIMS= " %%c in (%%a) DO (
FOR %%f in (%targ_dir%*.txt) DO (
FOR /F "TOKENS=1 DELIMS= " %%i in (%%f) DO (
SET tmp_nam=%%~na
IF %%c EQU %%i ( ECHO This is Connected)
IF %%c NEQ %%i ( ECHO This is not Connected)
)
)
)
)
Приведенное выше распечатает все сеансы, которые подключены, и все сеансы, которые не подключены. По сути, это выведет МНОГО избыточной и бесполезной информации. Я бы хотел, чтобы он делал следующее:
Каждый раз, когда он находит строку из первого файла во втором файле, тут же останавливался и переходил к следующей строке в первом файле. Если он не находит строку из первого файла во втором файле. Эхо "Строка не найдена" или что-то в этом роде.
Я постарался быть настолько описательным, насколько мог. Дайте мне знать, если у вас возникнут дополнительные вопросы.
Заранее спасибо!