albertminrich
Goto Top

Vbs aus batch starten ohne neues fenster, batch soll weiterlaufen und sich wieder beenden

Hallo,

ich möchte aus einer cmd-Datei ein vb-Script starten, ohne daß sich ein neues Fenster öffnet und die cmd soll weiterlaufen UND (wichtig) sich am Ende auch wieder schließen.
Eigentlich kein Problem, dachte ich, aber so ganz mags nicht.

test.vbs

Erster Versuch (test.cmd):
Damit läuft die cmd sofort bis zum Ende durch, das EAF (Eingabeaufforderungsfenster) schließt sich wieder. Aber es öffnet sich ein zweites EAF für den cscript.exe-Prozess (In der Titelleiste steht C:\windows\system32\cscript.exe), welches sich erst nach Ende der vbs-Datei (10 Sekunden) schließt. So gehts also nicht.

Zweiter Versuch:
Damit öffnet sich kein zusätzliches EAF für cscript.exe, die cmd-Datei wird auch sofort bis zum Ende abgearbeitet, aber das EAF schließt sich erst, wenn die vbs-Datei durch ist.

Ich hab schon mit den Parametern von start und cscript.exe rumprobiert, aber ich komm nicht zum gewünschten Ergebnis. Übrigens, wenn man die test.cmd aus einem bereits geöffneten EAF startet, läuft sie sofort durch und man steht wieder am prompt, aber es soll per Doppelklick auf die test.cmd funktionieren.


Was tun?
Gruß
AlbMin

Content-Key: 246406

Url: https://administrator.de/contentid/246406

Printed on: January 30, 2023 at 01:01 o'clock

Member: colinardo
Solution colinardo Aug 13, 2014, updated at Aug 15, 2014 at 11:32:55 (UTC)
Goto Top
N'abend AlbMin,
starte das Script einfach mit dem Windows-Script-Host Interpreter anstatt mit dem Kommandozeileninterpreter:
Dann bleibt kein Konsolenfenster offen face-smile. Geht natürlich nur solange du nichts von der VBS an die Batch zurückgeben musst.

Grüße Uwe
Member: AlbertMinrich
AlbertMinrich Aug 13, 2014 at 21:35:35 (UTC)
Goto Top
Zitat von @colinardo:

N'abend AlbMin,
starte das Script einfach mit dem Windows-Script-Host Interpreter anstatt mit dem Kommandozeileninterpreter:
Dann bleibt kein Konsolenfenster offen face-smile. Geht natürlich nur solange du nichts von der VBS an die Batch zurückgeben
musst.

Danke, aber es muß mit cscript.exe laufen.
Member: colinardo
colinardo Aug 13, 2014 updated at 21:53:33 (UTC)
Goto Top
Zitat von @AlbertMinrich:
Danke, aber es muß mit cscript.exe laufen.
darf man fragen was der Grund ist ? Kenne keinen anderen Weg, außer das ganze in eine EXE zu packen.
Member: AlbertMinrich
AlbertMinrich Aug 13, 2014 at 21:58:26 (UTC)
Goto Top
Zitat von @colinardo:

> Zitat von @AlbertMinrich:
> Danke, aber es muß mit cscript.exe laufen.
was ist der Grund ?

Wenn das Script auf Fehler läuft, poppen bei wscript "häßliche" Fenster auf, die man bestätigen muß, bei cscript kommt nur eine Zeile im EAF. Ich kann zwar mit wscript B Fehler unterdrücken, aber dann werden auch gewollte Script-Ausgaben (wscript.echo) nicht mehr ausgegeben.
Grübel grübel. Ich merke grad, wenn das vb-Script ohne sichtbares Fenster läuft, sieht man eh keine Ausgaben.
Dann kann ich es also auch mit wscript
B starten.

Super, danke.
Ich laß den Thread mal noch bis morgen als ungelöst stehen, vielleicht hast du oder jemand anders ja auch noch eine Lösung für cscript.

Gruß
AlbMin
Member: colinardo
colinardo Aug 13, 2014 updated at 22:05:04 (UTC)
Goto Top
p.s. im VBS kannst du zusätzlich auch mit On Error Resume Next Fehlerausgaben unterdrücken bzw. an deine Fehlerroutine weiterleiten, dann bleibt es silent!
mit /B geht's natürlich auch ...