Set myFile = objFSO.OpenTextFile("savedhosts.txt", ForReading, True)
Set myTemp = objFSO.OpenTextFile("savedhosts.txt" & ".tmp", ForWriting, True)
Do Until myFile.AtEndofStream
myLine = myFile.ReadLine
'msgbox "hostname = " & hostname
If InStr(myLine, hostname) Then
MsgBox "found hostname = " & hostname & " in the savedhosts.txt file"
myLine = hostname & ";" & hostname_IP_value
myTemp.WriteLine myLine
myFile.Close
myTemp.Close
objFSO.DeleteFile("savedhosts.txt")
objFSO.MoveFile "savedhosts.txt" & ".tmp", "savedhosts.txt"
Exit Sub
Else
Set objTextFile = objFSO.OpenTextFile("savedhosts.txt", ForAppending, True)
'MsgBox "hostname & ; & hostname_IP_value = " & hostname & ";" & hostname_IP_value
objTextFile.WriteLine(hostname_value & ";" & hostname_IP_value)
objTextFile.Close
document.getElementById("hostname").value=hostname
Exit Sub
End If
Loop
即使在输入相同的hostname值时,脚本也不会捕获条件以显示
MsgBox "found hostname = " & hostname & " in the savedhosts.txt file"
相反,它只是将其附加到txt文件中,导致两个文本名称具有不同的值,这是不可取的!
发布于 2018-08-11 05:08:03
我会将您的Exit Sub
语句更改为Exit Do
。如果这样还不能解决问题,那么在InStr函数中指定VBTextCompare (例如,InStr(myLine, hostname, 1)
)。如果这仍然不能修复它,请检查您的数据,因为它可能不是您认为的格式。您可能必须使用Escape(myLine)
(和/或hostname
,因为您没有提到如何设置该变量)来确保您是在逐个比较。
https://stackoverflow.com/questions/51768843
复制相似问题