VBS Script, Ausgabe in Datei, Datei bleibt geöffnet
Hi zusammen,
ich habe eine Frage zu meinem Script.
Als Hintergrundinformation sei gesagt, dass in MyAppStart.bat diverse Dinge erledigt werden, u.a. Taskliste gefiltert abfragen, eine Versiondatei aus einer ThinApp auslesen, Prüfungen von Bedingungen (ob das Program schon läuft etc.), und abhängig davon das eigentliche Programm mit Parametern starten
Die Batch Datei soll unsichtbar ausgeführt werden, darum nebst ein paar anderen Gründen das vorgeschaltete VBS Script. All das funktioniert soweit ohne Probleme.
Set WSHShell = WScript.CreateObject("WScript.Shell")
strAppData = WSHShell.ExpandEnvironmentStrings("%AppData%")
set fs = CreateObject("Scripting.FileSystemObject")
TAdir = (strAppData) & "\Thinstall"
if Not fs.FolderExists(TAdir) Then fs.createfolder (TAdir)
WSHShell.Run "cmd /c MyAppStart.bat >%appdata%\Thinstall\MyAppStart.log",0,false
Meine Frage dazu : Die Datei MyAppStart.log bleibt geöffnet, solange dass eigentlich Programm läuft und kann somit bei einem nochmaligen Ausführen des Scripts nicht neu erzeugt bzw. verändert werden (Beim nochmaligen Start des Scripts will ich ja beim Start prüfen, ob das Programm schon läuft).
Ich habe schon einiges recherchiert und ausprobiert, komme aber an dieser Stelle nicht weiter. Gibt es eine Möglichkeit, die Datei zu schließen (oder meinetwegen auch hart zu löschen ? Ich kann mir die Datei in meiner Batch Datei vorher problemlos kopieren)
Grüße
ich habe eine Frage zu meinem Script.
Als Hintergrundinformation sei gesagt, dass in MyAppStart.bat diverse Dinge erledigt werden, u.a. Taskliste gefiltert abfragen, eine Versiondatei aus einer ThinApp auslesen, Prüfungen von Bedingungen (ob das Program schon läuft etc.), und abhängig davon das eigentliche Programm mit Parametern starten
Die Batch Datei soll unsichtbar ausgeführt werden, darum nebst ein paar anderen Gründen das vorgeschaltete VBS Script. All das funktioniert soweit ohne Probleme.
Set WSHShell = WScript.CreateObject("WScript.Shell")
strAppData = WSHShell.ExpandEnvironmentStrings("%AppData%")
set fs = CreateObject("Scripting.FileSystemObject")
TAdir = (strAppData) & "\Thinstall"
if Not fs.FolderExists(TAdir) Then fs.createfolder (TAdir)
WSHShell.Run "cmd /c MyAppStart.bat >%appdata%\Thinstall\MyAppStart.log",0,false
Meine Frage dazu : Die Datei MyAppStart.log bleibt geöffnet, solange dass eigentlich Programm läuft und kann somit bei einem nochmaligen Ausführen des Scripts nicht neu erzeugt bzw. verändert werden (Beim nochmaligen Start des Scripts will ich ja beim Start prüfen, ob das Programm schon läuft).
Ich habe schon einiges recherchiert und ausprobiert, komme aber an dieser Stelle nicht weiter. Gibt es eine Möglichkeit, die Datei zu schließen (oder meinetwegen auch hart zu löschen ? Ich kann mir die Datei in meiner Batch Datei vorher problemlos kopieren)
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 189631
Url: https://administrator.de/forum/vbs-script-ausgabe-in-datei-datei-bleibt-geoeffnet-189631.html
Ausgedruckt am: 23.04.2025 um 05:04 Uhr
5 Kommentare
Neuester Kommentar

Hallo metric!
Versuchs mal mit einem True am Ende:
Mit True wartet das Skript auf die Run-Ausführung
Gruß Dieter
Versuchs mal mit einem True am Ende:
WSHShell.Run "cmd /c MyAppStart.bat >%appdata%\Thinstall\MyAppStart.log",0,true |
Gruß Dieter

Hallo metric!
Dann lass Dir von der Batch einen Exitcode zurückgeben (Result=Run...) und schreibe die Log per VB-Script
Gruß Dieter
Dann lass Dir von der Batch einen Exitcode zurückgeben (Result=Run...) und schreibe die Log per VB-Script
Gruß Dieter