批处理截取固定两个字符串之间的字符串。

目前我有一个22G的txt文本,结构基本固定。现在我想截取"TI -"之后到"GA -"之前的所有字符然后生成文本,不知道怎么写呢。
写错了,是“TI- ”之后到“PG”之前的字符

第1个回答  2017-04-24
一个文本中以TI -开头的就这一行,还是多行,如果仅此一行,那就好办多了。追问

我要的是这TI后面对应的title,这个文本存放了多行以"TI -"开头的title

追答

就是说只要是TI -开头的都提取出来?

追问

是的

追答

能否给一下你文本中TI -的实际字符,因为我不清楚你那里TI后面是空格还是Tab符,是空格的话又是几个空格。或者你自己修改一下。

@echo off & setlocal enabledelayedexpansion
::设置文件路径
set txt=file.txt

echo 正在玩命获取中,请耐心等待。。。
(for /f "delims=" %%a in ('findstr "^TI" "%txt%"') do (
    set "str=%%~a"
    echo !str:TI - =!)
)>TI.TXT
pause

str:后面,=前面的TI -请改成对应你文本中的。不过你这个22G的超大文本估计执行起来会很慢很慢。批处理不适合处理超大文件。

本回答被提问者采纳
相似回答