Solved VBS: How to make instr Ignore case?

Microsoft Windows xp professional w/ sp2
January 5, 2010 at 16:31:19
Specs: Windows XP, lol
I'm using a vb script - here's my script:

const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile1 = objFSO.OpenTextFile("whitelist", ForReading)

strCurrentDevices = objFile1.ReadAll
objFile1.Close

Set objFile2 = objFSO.OpenTextFile("ntbtlog.txt", ForReading)

Do Until objFile2.AtEndOfStream
strAddress = objFile2.ReadLine
If InStr(strCurrentDevices, strAddress) = 0 Then
strNotCurrent = strNotCurrent & strAddress & vbCrLf
End If
Loop

objFile2.Close

Wscript.Echo "Entries which are not on the whitelist will appear in output.txt"

Set objFile3 = objFSO.CreateTextFile("output.txt")

objFile3.WriteLine strNotCurrent
objFile3.Close


How do I make the "instr" comparison ignore case-sensetivity?

Thanks!


See More: VBS: How to make instr Ignore case?

Report •


#1
January 5, 2010 at 17:09:48
strCurrentDevices = ucase(objFile1.ReadAll)

If InStr(strCurrentDevices, ucase(strAddress)) = 0 Then


or "lcase()", as long as they're both the same.
you could put them on one line, but then you are repeating the ucase conversion of "strcurrentdevices" hundreds of times.


Report •

#2
January 5, 2010 at 17:25:07
✔ Best Answer
you can do case insensitive using Instr's vbTextCompare,

If InStr(1,strLine,"word",1) > 0 Then
		WScript.Echo "Found"
End If 

GNU win32 packages | Gawk


Report •
Related Solutions


Ask Question