[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何提取txt文本指定段的字符?

例:有一个txt文本里面有这种
qvod://149647161|244D0F1F5BAEBBDED2022E2BFC458919ED38B524|天啸_01.rmvb|
qvod://143008641|B925BF2D18043FE77B59F5794695CF7C29A392F2|天啸_02.rmvb|
qvod://164213401|EF57B271C4A08FF0567F9D014D187DD3923F35BA|天啸_03.rmvb|
qvod://159173609|EA12D67580085BB9FDC63748464F7AE1E63B6631|天啸_04.rmvb|
qvod://151926461|FC6761602D58F9FAFC7A49ADF9E5A6E8A8EB5A1E|天啸_05.rmvb|
qvod://166083885|D5BFAEC9E075CC27FF1946899C1BA442A3848D2F|天啸_06.rmvb|
qvod://151660655|ED24BFE6492175C711A218F6715C64BA8AEB3B41|天啸_07.rmvb|
........
我想得到
qvod://到|之间的数字(就是红色部分)
怎么写

  1. @echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"
  2. for /f "delims=|" %%a in (1.txt) do (
  3.   set "str=%%a"
  4.   (echo !str:~7!)>>2.txt
  5. )
  6. pause
复制代码

TOP

for /f "delims=/|  tokens=2" %%a in (a.txt) do echo %%a

TOP

回复 2# QIAOXINGXING
感谢 多谢啦!
还想问一下 如果我想提取最后的 |到|之间的字符怎么弄
qvod://149647161|244D0F1F5BAEBBDED2022E2BFC458919ED38B524|天啸_01.rmvb|

TOP

回复 3# yangfengoo


    多谢多谢
还想问一下 如果我想提取最后的 |到|之间的红色字符怎么弄
qvod://149647161|244D0F1F5BAEBBDED2022E2BFC458919ED38B524|天啸_01.rmvb|

TOP

这个更简单了,直接提取你的红色部分,生成b.txt


for /f "delims=|  tokens=3" %%a in (a.txt) do echo %%a>> b.txt
haoweb99.com
v.haoweb99.com
mm.haoweb99.com

TOP

for /f "delims=/|  tokens=2,4" %%a in (a.txt) do echo %%a %%b

TOP

多谢大家 呵呵

TOP

  1. gawk -F "[/|]+" "{print $2}" a.txt >b.txt
复制代码

TOP

返回列表