Bestimmt Zeile aus einer ini per VBS Script überpruefen
Hallo zusammen,
ich hoffe Ihr könnt mir helfen.
Ich hab ein kleines Script geschrieben welches eine Installationsdatei startet.
Dabei ist mir aufgefallen das ich zuvor aber noch eine INF überprüfen müsste.
INF sieht wie folgt aus:
[Version]
Signatur= abc
Class=USB
DriverVer=05/20/2011, 7.5.7.0
Für mich ist der Eintrag DriverVer interesant.
Besonders die 7.5.x.x
Kann man irgentwie die Versionsnummer überprüfen und wenn 7.5.x.x drin steht dann soll er das Script "a" starten und wenn Version 7.4.x.x soll er Script "b" starten.
Vielen Dank für eure Hilfe
Dabei ist mir aufgefallen das ich zuvor aber noch eine INF überprüfen müsste.
INF sieht wie folgt aus:
[Version]
Signatur= abc
Class=USB
DriverVer=05/20/2011, 7.5.7.0
Für mich ist der Eintrag DriverVer interesant.
Besonders die 7.5.x.x
Kann man irgentwie die Versionsnummer überprüfen und wenn 7.5.x.x drin steht dann soll er das Script "a" starten und wenn Version 7.4.x.x soll er Script "b" starten.
Vielen Dank für eure Hilfe
Please also mark the comments that contributed to the solution of the article
Content-Key: 201262
Url: https://administrator.de/contentid/201262
Printed on: April 17, 2024 at 21:04 o'clock
3 Comments
Latest comment
Hallo lukyluky,
das sollte dir helfen
In Zeile 2 den Pfad zur INF-Datei angeben und weiter unten in der Select-Anweisung die für die jeweilige Versionsnummer passende Anweisung einfügen...
Grüße Uwe
das sollte dir helfen
In Zeile 2 den Pfad zur INF-Datei angeben und weiter unten in der Select-Anweisung die für die jeweilige Versionsnummer passende Anweisung einfügen...
set objFS = CreateObject("Scripting.FileSystemObject")
set f = objFS.OpenTextFile("c:\test.inf",1,false)
Do While f.AtEndOfStream <> True
strline = f.ReadLine
if Left(strline,9) = "DriverVer" then
Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.Pattern = "(\d\.(\d)\.\d\.\d"
found = myRegExp.Test(strline)
if found then
Set Matches = myRegExp.Execute(strline)
Select Case Matches(0).SubMatches(0)
Case "7.4"
wscript.echo "Version 4"
'Mach was bei Version 4
Case "7.5"
wscript.echo "Version 5"
'Mach was bei Version 5
End Select
Exit do
end if
end if
Loop
Grüße Uwe
Zuerst überprüft das Script alle Zeilen ob sie mit "DriverVer" beginnen. Wenn ja dann extrahiert es mit einem RegularExpression-Objekt die Versionsnummer : "7.5.5.0". Mit der Klammer in der RegEx-Pattern in Zeile 9 legst du den Submatch fest mit dem der Vergleich der Versionsnummer stattfindet.
Für deinen Fall musst du die Zeile 9 so abändern:
Für deinen Fall musst du die Zeile 9 so abändern:
myRegExp.Pattern = "(\d\.\d)\.\d\.\d"