批处理 查找并提取指定字符串的第二行
我现在有1.txt文档和2.txt文档,要求是,查找并提取2.txt文档上所有含有1.txt文档字符串的行的第二行,也就是下一行输出至新文本3.txt,一般情况下,1.t...
我现在有1.txt文档和2.txt文档,要求是,查找并提取2.txt文档上所有含有1.txt文档字符串的行的第二行,也就是下一行输出至新文本3.txt,一般情况下,1.txt有4行左右的字符串,这个字符串是变量,运行中产生的
不好意思,财富值用完了!!谢谢指导 展开
不好意思,财富值用完了!!谢谢指导 展开
1个回答
展开全部
@echo off&setlocal enabledelayedexpansion
set "m=0"
for /f "delims=" %%i in ('type "2.txt"^|findstr /n ".*"') do (
echo;%%i|findstr /r "^[!m!]">>3.txt
set "v=%%i"&set "v=!v:~2!"
set /a n+=1
for /f "delims=" %%j in ('type "1.txt"') do (
if /i "!v!"=="%%j" set /a m=n+1
)
)
for /f "delims=" %%i in ('type "3.txt"^&cd.^>"3.txt"') do (
set "v=%%i"&set "v=!v:~2!"
echo;!v!>>3.txt
)
endlocal
pause
set "m=0"
for /f "delims=" %%i in ('type "2.txt"^|findstr /n ".*"') do (
echo;%%i|findstr /r "^[!m!]">>3.txt
set "v=%%i"&set "v=!v:~2!"
set /a n+=1
for /f "delims=" %%j in ('type "1.txt"') do (
if /i "!v!"=="%%j" set /a m=n+1
)
)
for /f "delims=" %%i in ('type "3.txt"^&cd.^>"3.txt"') do (
set "v=%%i"&set "v=!v:~2!"
echo;!v!>>3.txt
)
endlocal
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询