Board logo

标题: [文本处理] [已解决]批处理文本提取挑战高难度 [打印本页]

作者: pengyou86    时间: 2011-1-17 18:09     标题: [已解决]批处理文本提取挑战高难度

123.txt文本里面有字符 文字 数字等等 ....  我想让批处理提取出“你的激活码“和后面字符“您的激活码XHF7E-8AF3Z-SX3E-YU4AS”  我标记红色那部分是固定汉字  蓝色部分是不固定的,但字节固定的。
行数不固定和激活码数量也不固定
我想让批处理实现这个功能 成功提取后并在124.txt输入正确提取到的激活码

感谢高手帮忙写一下  谢谢

[ 本帖最后由 tmplinshi 于 2011-1-22 13:18 编辑 ]
作者: tmplinshi    时间: 2011-1-17 18:15

  1. @echo off
  2. for /f "tokens=*" %%a in ('findstr "您的激活码:" 123.txt') do set var=%%a
  3. set "var=%var:*您的激活码:=%"
  4. >>124.txt echo %var:~0,22%
复制代码

[ 本帖最后由 tmplinshi 于 2011-1-17 18:17 编辑 ]
作者: pengyou86    时间: 2011-1-17 18:19

原帖由 tmplinshi 于 2011-1-17 18:15 发表
@echo off
for /f "tokens=*" %%a in ('findstr "您的激活码:" 123.txt') do set var=%%a
set "var=%var:*您的激活码:=%"
>>124.txt echo %var:~0,22%



感谢 但这个批处理只能提取一个激活码  文本里面的激活码数量是不固定的
作者: tmplinshi    时间: 2011-1-17 18:29

  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. (for /f "tokens=*" %%a in ('findstr "您的激活码:" 123.txt') do (
  4.     set var=%%a
  5.     set var=!var:*您的激活码:=!
  6.     echo !var:~0,22!
  7. )) >>124.txt
复制代码

[ 本帖最后由 tmplinshi 于 2011-1-17 18:37 编辑 ]
作者: pengyou86    时间: 2011-1-17 18:32

原帖由 tmplinshi 于 2011-1-17 18:29 发表
@echo off
SetLocal EnableDelayedExpansion
(for /f "tokens=*" %%a in ('findstr "您的激活码:" 123.txt') do (
    set var=%%a
    set var=!var:*您的激活码:=!
    echo !var:~0,22!
)) >>124.txt


感谢 我再测试一下
作者: pengyou86    时间: 2011-1-17 18:34

谢谢 问题已经解决
作者: pengyou86    时间: 2011-1-17 19:05

@echo off
SetLocal EnableDelayedExpansion
(for /f "tokens=*" %%a in ('findstr "您的激活码:" 123.txt') do (
    set var=%%a
    set var=!var:*您的激活码:=!
    echo !var:~0,23!
)) >>124.txt





修改成这个0.22提取后少一位
作者: 随风    时间: 2011-1-17 20:06

请楼主不要用“高难度”这样的字眼来吸引眼球。
作者: q120072949    时间: 2011-1-22 12:36

哈哈,是的,我也被吸引进来了!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2