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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201262
Url: https://administrator.de/contentid/201262
Ausgedruckt am: 15.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
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"