如何用批处理提取一目录下所有文本文件中的特定字符并同文件名一起输出?
现有一批txt文件,文件名无规律,随便打开一个a.txt,看到某段中间写着name="KEYWORDS"content="APPLE,SHOP,ENG,"前后都有其他各种...
现有一批txt文件,文件名无规律,随便打开一个a.txt,看到某段中间写着name="KEYWORDS" content="APPLE,SHOP,ENG," 前后都有其他各种内容,我需要通过批处理提取出APPLE、SHOP和ENG以及文件名输出至另一文件1.txt中,如此往复,最后1.txt记录下a.txt的关键词为APPLE,SHOP,ENG,b.txt的关键词为……
展开
2个回答
展开全部
需要文件内容结构
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off&setlocal enabledelayedexpansion
(
for /f "" %%i in ('dir /b /a-d *.txt') do (
(
set "fn=%%i"
for /f "tokens=3 delims==" %%m in ('findstr /i /c:"APPLE,SHOP,ENG," "!fn!"') do (
set /p=%%~m<nul
)
set /p=……!fn!<nul
echo\
)>>$
)
) 2>nul
move /y $ 1.txt >nul
echo sucessfully!&echo=&pause>nul
放在txt文本同一目录下运行即可。。
PS:文件名不能含有空格或tab制表符! 并且要提取的行有且只有name="KEYWORDS" content="APPLE,SHOP,ENG,"
(
for /f "" %%i in ('dir /b /a-d *.txt') do (
(
set "fn=%%i"
for /f "tokens=3 delims==" %%m in ('findstr /i /c:"APPLE,SHOP,ENG," "!fn!"') do (
set /p=%%~m<nul
)
set /p=……!fn!<nul
echo\
)>>$
)
) 2>nul
move /y $ 1.txt >nul
echo sucessfully!&echo=&pause>nul
放在txt文本同一目录下运行即可。。
PS:文件名不能含有空格或tab制表符! 并且要提取的行有且只有name="KEYWORDS" content="APPLE,SHOP,ENG,"
追问
N多txt文件 每个文件的关键词是不一样的 内容和数量也不定,只知道它们是在name="KEYWORDS" content=之后
追答
是否文本中只有一行name="KEYWORDS" content=或者一行中只有一个name="KEYWORDS" content=??是否关键词在content=后面的双引号里面??是否关键词包含特殊字符如?|||&等??你说不出一两条规律来很难帮不上你。。。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询