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

[文本处理] [已解决]BAT或VBS怎样从这样文本按特征码提取数字作变量?

本帖最后由 toobat 于 2015-3-31 15:35 编辑

有一组数字16347是变化的
想以这串特征码读取后面5位数字出来作变量
特征码后有些行是英文,找到那第一个匹配是数字并读取出来要怎么写??
读取成16347这样五位数

BAT,VBS都可以,求大神

vbs 好像可以这样:
  1. with CreateObject("Adodb.Stream")
  2.         .Type = 1
  3.         .Mode = 3
  4.         .Open
  5.         .LoadFromFile "sys.config"
  6.         bin = .Read(-1)
  7. End with
  8. For i = 1 to LenB(bin)
  9.         b = MidB(bin, i, 1)
  10.         If AscB(b) <> 0 Then s = s & Chr(AscB(b))
  11. Next
  12. Set re = New RegExp
  13. re.Pattern = "LoadPerfMICROSOFT(\d+)"
  14. If re.Test(s) Then var = re.Execute(s)(0).SubMatches(0)
  15. MsgBox var
复制代码

TOP

  1. @echo off
  2. for /f %%a in ('sed -r "s/\x00//g;s/.*LoadPerfMICROSOFT([0-9]+).*/\1/" sys.config') do (
  3.         set "var=%%a"
  4. )
  5. echo,%var%
  6. pause
复制代码

TOP

回复 3# toobat

[attach]8486[/attach]

TOP

回复 2# pcl_test


    我发现这个文件会生成其他东西,用上次那个读取会读错,只能靠特征码才能正确读取,不知道能不能以普通文本编码获取?

TOP

回复 1# toobat
这两个问题不是一样?
http://www.bathome.net/viewthread.php?tid=34829

TOP

返回列表