你好 StackOverflow 社区!
我有一个 BATCH 问题困扰了我好几天:我正在尝试做一个刺痛比较(听起来很简单),但我是这样做的:我有两个文件夹:SESSIONS 和 TARGETS。这些文件夹中的每一个都有一个以服务器命名的普通文本文件:Server1.txt、Server2.txt、Server3.txt 等。两个目录都有名称完全相同的文件。文件名之所以重要,只是因为阅读它们后,我会知道在哪里分配该文件中包含的信息。例子:
SESSIONS-->Server1.txt
Word_one
Word_two
Word_三
word_seven
TARGETS-->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)
)
)
)
)
以上将打印出所有已连接的会话和所有未连接的会话。本质上,这将输出大量冗余和无用的信息。我希望它执行以下操作:
每次从第二个文件中的第一个文件中找到一个字符串时,就停在那里,然后移动到第一个文件中的下一个字符串。如果在第二个文件中没有从第一个文件中找到字符串。回显“找不到字符串”或类似的内容。
我试图尽可能地进行描述。如果您有任何其他问题,请告诉我。
先感谢您!