这是一种方法.假设wordA和wordB在同一行(两者都必须存在).
子例程:FindString删除不需要的前面的文本,然后将“wordB”替换为我们在文本中不期望的字符,然后我们将其用作分隔符(在本例中为`).必要时使用另一个角色.
子例程:FindString删除不需要的前面的文本,然后将“wordB”替换为我们在文本中不期望的字符,然后我们将其用作分隔符(在本例中为`).必要时使用另一个角色.
@ECHO OFF SET InFile=Test.txt FOR /F "tokens=*" %%A IN ('FINDSTR "wordA" "%InFile%" ^| FINDSTR "wordB"') DO CALL :FindString "%%A" pause GOTO :eof :FindString SET String=%~1 SET String=%String:*wordA =% SET String=%String: wordB=`% FOR /F "tokens=1 delims=`" %%A IN ('ECHO.%String%') DO ECHO.%%A] GOTO :eof