我有一个批处理脚本,它从参考文本文件(testException.txt)逐行读取带空格的字符串。我正在使用findstr在我的text.txt中搜索,以找到与参考文件中的字符串匹配的任何内容。如果有任何匹配,我想将text.txt中的所有内容输出到错误文本文件并退出循环。
:find.bat
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set source=testException.txt
set location=text.txt
for /f "tokens=* delims=" %%L IN (!source!) DO (
@findstr /B /I /C:"%%L" "!location!"
if %ERRORLEVEL% EQU 0 (type !location! >> Error.txt goto:eof) else (call)
)
pause
当我执行我的脚本时,它输出的次数与testException.txt中的模式数一样多。看起来我的转到:eof并没有结束我的for循环。下面是我的text.txt和testException.txt。任何帮助&非常感谢建议更好的方式。
的text.txt
你好,你好吗。
im fine ty。
洛尔。苹果123就在这里
testException.txt
orange 321
apple 123
lol 423