Vbscript zum überprüfen der exe Version wenn.dann
Hallo Leute
Script funktioniert wenn niedrigere Version der exe vorhanden ist.
Ist jedoch der Pfad C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe nicht vorhanden, dann
kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Script funktioniert wenn niedrigere Version der exe vorhanden ist.
Ist jedoch der Pfad C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe nicht vorhanden, dann
kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Set objFSO = CreateObject("Scripting.FileSystemObject")
If fso.FileExists ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe") Then
fso.EXEver = objFSO.GetFileVersion ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe")
End if
If EXEVer >= "1.5.3.0" Then
WScript.Quit
End if
set wshell = CreateObject("Wscript.shell")
wshell.run "C:\zATi\Installer_SODE_v1.5.3.msi"
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 346249
Url: https://administrator.de/contentid/346249
Ausgedruckt am: 24.11.2024 um 06:11 Uhr
9 Kommentare
Neuester Kommentar
Ja,
Du musst vorher prüfen, ob der Ordner (also der Pfad zur Datei) überhaupt existiert.
Dann kannst Du diesen Fehler fangen.
https://msdn.microsoft.com/en-us/library/5xc78d8d(v=vs.84).aspx
Du musst vorher prüfen, ob der Ordner (also der Pfad zur Datei) überhaupt existiert.
Dann kannst Du diesen Fehler fangen.
https://msdn.microsoft.com/en-us/library/5xc78d8d(v=vs.84).aspx
Ist jedoch der Pfad C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe nicht vorhanden, dann
kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Du täuschst Dich selbst.kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Was fällt Dir da auf?
Set objFSO = CreateObject("Scripting.FileSystemObject")
If fso.FileExists ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe") Then
If fso.FileExists ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe") Then
Weil hier a) der Schreibfehler beim FSO nicht drin ist und b) ich nicht weiß, was "beide Fälle" sind.
Wenn Du in Deinem in der Frage genannten Script den Schreibfehler korrigierst, dann hättest Du für Zeile 7 die Grundlage zur Prüfung. Jedoch kann man den Inhalt von Strings nicht einfach so auf >= prüfen. Und weil man die Versionsnummer nicht einfach in eine reelle Zahl konvertiert bekommt, wirst Du diese in die einzelnen Nummern zerlegen und dann diese einzeln vergleichen müssen. Ein Beispiel dafür findest Du über Google, z.B.: http://www.posteet.com/view/206 . Ich habe das nicht getestet aber es sieht auf dem ersten Blick OK aus.
Wenn Du in Deinem in der Frage genannten Script den Schreibfehler korrigierst, dann hättest Du für Zeile 7 die Grundlage zur Prüfung. Jedoch kann man den Inhalt von Strings nicht einfach so auf >= prüfen. Und weil man die Versionsnummer nicht einfach in eine reelle Zahl konvertiert bekommt, wirst Du diese in die einzelnen Nummern zerlegen und dann diese einzeln vergleichen müssen. Ein Beispiel dafür findest Du über Google, z.B.: http://www.posteet.com/view/206 . Ich habe das nicht getestet aber es sieht auf dem ersten Blick OK aus.