Batch file 带有空格和空行的批处理文件findstr

Batch file 带有空格和空行的批处理文件findstr,batch-file,Batch File,下面我有一个批处理脚本,它从参考文本文件(testException.txt)逐行读取带空格的字符串。我正在使用findstr在my text.txt中搜索,以查找与引用文件中字符串的任何匹配项。如果存在任何匹配项,我希望将text.txt中的所有内容输出到错误文本文件并退出循环 :find.bat @echo off SETLOCAL ENABLEDELAYEDEXPANSION set source=testException.txt set location=text.txt f

下面我有一个批处理脚本,它从参考文本文件(testException.txt)逐行读取带空格的字符串。我正在使用findstr在my 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中模式数的倍。似乎我的goto:eof并没有结束我的for循环。下面是我的text.txt和testException.txt。非常感谢您对更好方法的任何帮助和建议

text.txt

你好,你好吗

我很好

哈哈,苹果123来了

testException.txt

橙色321

苹果123


lol 423

>Error.txt
goto:eof
之间添加一个符号,你能用
findstr/b/i/l/g:“!source!”!location!”
代替循环吗?谢谢Happy Face。添加&为我做的。