(VBS) Scriptproblem
Ich habe folgendes VBS zum automatisierten Starten eines Programmes:
sProcessName = "programm.exe"
' Hier die Ausführbare Datei der zu überwachenden Applikation angeben
Doch wenn es plötzlich (durch einen eigenen Absturz) beendet wird, wird nur der Windows Explorer mit dem Pfad G:\Programme aufgerufen. Nun meine Frage: wie stelle ich es an, daß genau das Programm (nach Absturz) ausgeführt und nicht der Explorer geöffnet wird?
Ich habe es auch schon mit DOS Namen (8.3) versucht, funktionierte auch nicht.
Vielen Danke für die Antworten, Zoé
sProcessName = "programm.exe"
' Hier die Ausführbare Datei der zu überwachenden Applikation angeben
sComputer = "."
Set oWmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set oShell = CreateObject("WScript.Shell")
Do
Set colProcessList = oWmi.ExecQuery("Select * from Win32_Process Where Name = '" & sProcessName & "'")
If colProcessList.Count = 0 Then
oShell.Run "G:\Programme (x86)\Programm\Unterordner\Programm.exe", 1, False
' Hier den Pfad zur überwachenden Applikation angeben
End If
WScript.Sleep 1000
Loop
Ich habe es auch schon mit DOS Namen (8.3) versucht, funktionierte auch nicht.
Vielen Danke für die Antworten, Zoé
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 78989
Url: https://administrator.de/contentid/78989
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo ZoeSkotos!
Sieht so aus, als würden (wie auch von willchisum angemerkt) bei Deinem "Run"-Befehl Programmname und übergebene Argumente ohne Leerzeichen aneinandergefügt - versuch es so:
Wenn Du zuerst den Command-String in einer Variablen ("strRun") zusammenstellst, kannst Du ihn zur Kontrolle ausgeben (am besten über "WScript.Echo" und Start des Scripts über "cscript" - so kannst Du ihn leicht kopieren) und ihn dann auch direkt unter CMD austesten:
Im konkreten Fall wäre dies
Grüße
bastla
Sieht so aus, als würden (wie auch von willchisum angemerkt) bei Deinem "Run"-Befehl Programmname und übergebene Argumente ohne Leerzeichen aneinandergefügt - versuch es so:
...
strRun = Chr(34) & "G:\Programme (x86)\Vidalia Bundle\Privoxy\privoxy.exe" & Chr(34) & " " & Chr(34) & "G:\Programme (x86)\Vidalia Bundle\Privoxy\config.txt" & Chr(34) & " " & Chr(34) & "G:\Programme (x86)\Vidalia Bundle\Privoxy\standard.action" & Chr(34)
oShell.Run strRun
D:\Test>cmd /k "DeinString"
D:\Test>cmd /k ""G:\Programme (x86)\Vidalia Bundle\Privoxy\privoxy.exe" "G:\Programme (x86)\Vidalia Bundle\Privoxy\config.txt" "G:\Programme (x86)\Vidalia Bundle\Privoxy\standard.action""
Grüße
bastla