zockervogel
Goto Top

Unterdrücken eines DOS Fenster bei Ausführen einer Batchdatei

Hallo,
ich habe zwar schon gesucht, aber noch nichts gefunden was funktioniert.

Ich führe per Aufgabenplanung unter Windows 8 eine Datei mit dem Namen start.bat aus.
In dieser Datei steht:

C:\Windows\System32\cmd.exe /c start "VMWare" /affinity F0 "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" start "C:\VMWare\Test\Test.vmx"

Diese Batchdatei funktioniert auch. Beim Ausführer wird aber immer ein DOS-Fenster geöffnet.

Was kann ich tun um das Programm im Hintergrund starten zu lassen, ohne dass ein Fenster aufgeht.
Wenn das in der Taskleiste ist, ist mir auch schon geholfen.

mfg
Peter

Content-Key: 324571

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

Ausgedruckt am: 19.03.2024 um 08:03 Uhr

Mitglied: BassFishFox
BassFishFox 23.12.2016 um 02:14:34 Uhr
Goto Top
Hallo,

Ist es schon Freitag? Alle Suchmaschinen in den Ferien?

Schau hier http://bfy.tw/95t5 oder halt hier https://goo.gl/v3on8I oder hier http://www.f2ko.de/de/b2e.php.

BFF
Mitglied: 131381
Lösung 131381 23.12.2016 aktualisiert um 08:20:26 Uhr
Goto Top
Moin?
wieso schreibst du für einen Befehl eine Batchdatei? Den Befehl kannst du direkt in den Taskplaner reinklöppeln ohne cmd /c.

Oder das ganze mit einem anderen Account (z.B. als System) laufen lassen, dann ist es ebenfalls unsichtbar.

Oder per VBS
CreateObject("wscript.shell").Run """C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"" start ""C:\VMWare\Test\Test.vmx""",0,False  
Gruß mik
Mitglied: rubberman
rubberman 23.12.2016 um 15:43:58 Uhr
Goto Top
Moin.

wieso schreibst du für einen Befehl eine Batchdatei?
Dem kann ich mich nur anschließen. Ist es das /affinity F0, was du dringend benötigst? Anderenfalls kommt der Aufruf von vmrun in den Scheduled Task und gut. Wo kein Konsoletool, da kein Konsolefenster.

rubberman
Mitglied: Zockervogel
Zockervogel 23.12.2016 um 16:45:18 Uhr
Goto Top
danke für eure Hilfen.

Wenn ich es direkt, auch ohne cmd /c in den Scheduler reinschreibe, geht auch ein Fenster auf.

Ich habe nun die Lösung mit dem .vbs versucht.
Also eine Datei mit diesem Inhalt erstelle, als Endung .vbs, und es dann starte,
bekomme ich folgende Fehlermeldung:

vbs

Was habe ich da falsch gemacht ?
Mitglied: Zockervogel
Zockervogel 23.12.2016 aktualisiert um 16:46:59 Uhr
Goto Top
Diese Links hatten mir vorher auch schon nicht weitergeholfen.
(alles schon angeschaut)


...und ja, es ist Freitag face-smile
Mitglied: rubberman
Lösung rubberman 23.12.2016 um 18:18:26 Uhr
Goto Top
Was habe ich da falsch gemacht ?
Es dürften ein paar Anführungszeichen zu viel sein. Teste
CreateObject("wscript.shell").Run """C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"" start ""C:\VMWare\Test\Test.vmx""",0,False  

rubberman
Mitglied: 131381
131381 23.12.2016 aktualisiert um 21:27:25 Uhr
Goto Top
Zitat von @rubberman:
Es dürften ein paar Anführungszeichen zu viel sein. Teste
Jupp sorry, ist oben korrigiert.

Frohes Fest allerseits.
mik
Mitglied: clubmaster
clubmaster 23.12.2016 um 21:59:36 Uhr
Goto Top
Du solltest dein Batch mit dem Parameter /Q starten:

C:\Users\Besitzer>cmd /?
Startet eine neue Instanz des Windows Befehlsinterpreters.

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] Zeichenfolge]

/C Führt den Befehl in der Zeichenfolge aus und endet dann.
/K Führt den Befehl in der Zeichenfolge aus und endet dann nicht.
/S Bestimmt Behandlung von Zeichenfolgen nach /C oder /K (siehe unten).
/Q Schaltet die Befehlsanzeige aus.
/D Deaktiviert die Ausführung von AutoRun-Befehlen von der Registrierung.
/A Ausgabe interner Befehle in eine Pipe oder Datei im ANSI-Format.
/U Ausgabe interner Befehle in eine Pipe oder Datei im UNICODE-Format.
/T:fg Legt die Hinter- bzw. Vordergrundfarben fest (siehe auch COLOR /?).
/E:ON Aktiviert Befehlserweiterungen (siehe unten).
/E:OFF Deaktiviert Befehlserweiterungen (siehe unten).
/F:ON Aktiviert die Ergänzung von Datei- und Verzeichnisnamen.
/F:OFF Deaktiviert die Ergänzung von Datei- und Verzeichnisnamen.
/V:ON Aktiviert verzögerte Erweiterung von Variablen, ! wird dabei als
Trennzeichen verwendet. Zum Beispiel wird mit /V:ON die Variable
!var! zur Ausführungszeit erweitert. Im Gegensatz dazu wird bei
Verwendung der Syntax var die Variable zum Zeitpunkt der Eingabe
aufgelöst (Diese Werte können z. B. in einer FOR-Schleife
unterschiedlich sein!).
/V:OFF Deaktiviert die verzögerte Erweiterung von Variablen.
Mitglied: Zockervogel
Zockervogel 23.12.2016 um 22:01:54 Uhr
Goto Top
suuuuper, das klappt !!!!

vielen vielen Dank.

Auch ich wünsche euch allen ein Frohes Fest.


Peter
Mitglied: clubmaster
clubmaster 23.12.2016 um 23:59:33 Uhr
Goto Top
Nee, sorry. Funktioniert so nicht: Du brauchst den WindowsScripting Host:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing