【问题标题】:Read text file specific string through vbscript通过 vbscript 读取文本文件特定的字符串
【发布时间】:2016-03-15 17:52:09
【问题描述】:

我有包含多行不同作业作业状态的文本文件。上次运行日期..etc 如下所示

Jobname=FC;lastdate=12032015;lastresult=0

我需要写出jobnamelastresult 的状态,0 为“成功”,其他情况为“失败”。

【问题讨论】:

  • 您是在找人为您编写 vbscript,还是对您编写的脚本有疑问?
  • 我手边没有 hv 脚本..我只是找不到与模式匹配的命令...我不需要为我编写脚本...但可以给我一个线索这样做..

标签: vbscript


【解决方案1】:

当您遍历文件的行时(其中readline 是保存我们当时正在读取的行的变量):

jobname= Split(Split(readLine, ";")(0), "=")(1)
if Split(Split(readLine, ";")(2), "=")(1) = 0 Then
    lastresult="Success"
else
    lastresult="Failure"
end if

这样的东西应该会捕获您的jobnamelastresult。我们只是使用SPLIT() 用分隔符“;”分割字符串并获取我们需要的令牌(然后将其拆分)。

【讨论】:

    【解决方案2】:

    使用正则表达式查找 = 后跟一系列非 -;以及一个由“=0”和输入行最后一部分之间的比较索引的数组 - 如下所示:

    >> Set r = New RegExp
    >> r.Global = True
    >> r.Pattern = "=[^;]+"
    >> a = Split("success fail")
    >> s = "Jobname=FC;lastdate=12032015;lastresult=0|Jobname=Other;lastdate=12032015;lastresult=Else"
    >> For Each s In Split(s, "|")
    >>     Set ms = r.Execute(s)
    >>     WScript.Echo Mid(ms(0).Value,2), a(1 + ("=0" = ms(2)))
    >> Next
    >>
    FC success
    Other fail
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多