2012-11-27 365 views
1

需要關於我正在編寫的一段代碼的幫助。我不熟悉腳本,所以請原諒。如何使用VBS在文本文件中搜索變量

基本上在下面的代碼中我每次找到文本「Busy working Thread Id =」時intBusyThreads增加1。

Do While oTextFile.AtEndOfStream <> True 
    strLine = oTextFile.ReadLine 
    If inStr(strLine, "Busy Working Thread Id=") Then 
    intBusyThreads = intBusyThreads + 1 
    End If 
Loop 

但是我只希望它增加線程ID是否不同。

例如:

繁忙的工作線程標識= 0×01
繁忙的工作線程標識= 0×05
繁忙的工作線程標識= 0×01

在這個例子中我的代碼只將有線索Id 01和05是唯一的,因此將intBusyThreads加2。我無法找到允許我這樣做的代碼。由於線程ID會一直改變,我不知道如何指定該變量。 (希望是有道理的)我嘗試了一些東西,如strcomp()。建議?

謝謝!

回答

1

創建一個唯一的線程ID的dictionary並增加你的櫃檯,只有當電流ID不存在於詞典:

Set uniqueIDs = CreateObject("Scripting.Dictionary") 

Do While oTextFile.AtEndOfStream <> True 
    strLine = oTextFile.ReadLine 
    If inStr(strLine, "Busy Working Thread Id=") Then 
    id = Split(strLine, "=")(1) 
    If Not uniqueIDs.Exists(id) Then 
     intBusyThreads = intBusyThreads + 1 
     uniqueIDs.Add id, True 
    End If 
    End If 
Loop