c0d3.r3d
Goto Top

VBS - If-(not)Exists Skriptfrage mit Programmstart

Hallo zusammen,

ich stehe etwas auf dem Schlauch. Mit VBS habe ich bisher noch keine Erfahrungen sammeln können, weswegen ich etwas Hilfe benötige. Folgendes soll das Skript können:
  • Prüfe, ob Datei XY (mit Leerzeichen im Namen) exestiert
  • falls ja, starte Programm A,
  • falls nicht starte Programm B.
  • beende Skript

Folgenden Ansatz hatte ich bereits:
Option Explicit
DIM fso    
Set fso = CreateObject("Scripting.FileSystemObject")  
Set WShell = CreateObject("Wscript.Shell")  

If (fso.FileExists("DateiXY")) Then  
  WShell.Exec("ProgrammA")  
  WScript.Quit()
Else
  WShell.Exec("ProgrammB")  
End If

WScript.Quit()

Wahrscheinlich ist es viel einfacher als ich es mir gerade vorstelle.

Grüße

Content-ID: 595615

Url: https://administrator.de/forum/vbs-if-notexists-skriptfrage-mit-programmstart-595615.html

Ausgedruckt am: 30.12.2024 um 17:12 Uhr

beidermachtvongreyscull
Lösung beidermachtvongreyscull 12.08.2020 aktualisiert um 20:39:17 Uhr
Goto Top
Hi,

der Ansatz ist doch ok. Wo liegt denn Dein Problem?

Ein Hinweis:
"Option Explicit" erfordert, dass jede verwendete Variable auch deklariert sein muss (wie in Zeile 2).
Wenn Du "WShell" ebenfalls deklarierst, sollte ein Schuh draus werden.
c0d3.r3d
c0d3.r3d 12.08.2020 um 22:12:46 Uhr
Goto Top
Hallo,

das Problems ist, dass mir dieser Schnipsel Fehlermeldungen bringt. (Hab jetzt gerade keinen PC zur Hand um die Meldung zu zeigen).


Wie deklariere ich dann WShell? Ebenfalls mit DIM davor?
em-pie
Lösung em-pie 12.08.2020 um 22:29:56 Uhr
Goto Top
Moin,

Also mit den Fehlermeldungen wirst du immer im WWW fündig. Da braucht es kein Forum für, wenngleich wir die gerne helfen.


Wenn du selbst recherchierst, ist das nachhaltiger.

Zu deiner letzten Frage: in VBS/ VBA wird per DIM deklariert. Du kannst auch mehrere Variablen hintereinander deklarieren:

 DIM objFSO, objVar, objWShell

Ist das gleiche wie
DIM objFSO
DIM objVar
DIM objWShell

Ich persönlich „gruppiere“ die Varieblen immer:
Alle integer sind ein einem DIM, alle Objekte oder alle Strings
Das ist aber Kosmetik

Gruß
em-pie