做一个bat文件提取下面a.txt文本文件中符合要求的数据保存到b.txt中

wr 我你 节日快乐何必如此(rlkaalk99) wr 我爱 节日快乐 rolorodwr(rolorodwr) d0 爱你 节日快乐 a(wokl04adr) wk 我你 节日快乐 网事如烟(owdkll9ro) wr 我你 节日快乐 一路向前(o9wwr9wl) wd 爱你 节日快乐

提取节日快乐到)之间的数据保存到b.txt中,一行一个
如:
何必如此(rlkaalk99)

wr 我你 节日快乐何必如此(rlkaalk99)
wr 我爱 节日快乐 rolorodwr(rolorodwr)
d0 爱你 节日快乐 a(wokl04adr)
wk 我你 节日快乐 网事如烟(owdkll9ro)
wr 我你 节日快乐 一路向前(o9wwr9wl)
wd 爱你 节日快乐

你的样本没换行,看不清楚格式,如果是上面这样的格式,你先试试这个吧

@echo off
setlocal enabledelayedexpansion
(for /f "tokens=*" %%i in (a.txt) do (
set s=%%i
set s=!s:节日快乐=,!
for /f "tokens=2 delims=,)" %%j in ('echo !s!') do echo %%j^)))>b.txt追问

试了一下,原数据必须换行才能正确提取,但是我的原数据是不换行的,就是很长的一段

追答

如果是很长的一段的话(大概几千个英文字符),批处理就处理不了了。
我习惯于用一个第三方工具wfr.exe来换行再用批处理处理
@echo off
setlocal enabledelayedexpansion
wfr a.txt -r:")" -t:")\n"
(for /f "tokens=*" %%i in (a.txt) do (
set s=%%i
set s=!s:节日快乐=,!
for /f "tokens=2 delims=,)" %%j in ('echo !s!') do echo %%j^)))>b.txt

追问

wfr.exe在哪里下载?能否发我邮箱shhzj¥126.com

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答