Batch-Skript soll sich automatisch schließen.

AMD_Rulez

Lieutenant
Dabei seit
Feb. 2010
Beiträge
582
Hallo.

Ich habe ein kleines Batch-Skript geschrieben aus dem ein Programm automatisch installiert wird. Sprich ich führe das Skript aus und das Programm installiert sich;)

Meine Frage:

Wie lautet der Befehl der das Fenster vom Skript nach einer bestimmten Zeit (z.B. nach 5 Sekunden) automatisch schließt?

Ich kenne nur pause. Bei dem Befehl ist allerdings eine Eingabe erforderlich und das ist nicht Sinn und Zweck von dem was ich erreichen möchte:p

Danke im Vorraus.
 

prezioso

Lt. Junior Grade
Dabei seit
Jan. 2010
Beiträge
477
Mach einfach nen Ping aufn Localhost und dann exit.
 

AMD_Rulez

Lieutenant
Ersteller dieses Themas
Dabei seit
Feb. 2010
Beiträge
582
Das heißt wie sollte das Skript dann aussehen? Bin noch nciht wirklich so der Fachmann;)

Das ist es bis jetzt:

@echo off
echo Programm wird installiert! Bitte das Fenster nicht schlieáen!
I:\windows\Pfad\Pfad\Ordner\Programm.exe /S
echo Programm wurde erfolgreich installiert!
pause


Den Pfad und das Programm habe ich einfach mal "zensiert" ;).


Also was muss ich eingeben wenn sich das Fenster zB. nach 5 Sekun den schließen soll?
 

prezioso

Lt. Junior Grade
Dabei seit
Jan. 2010
Beiträge
477
einfach das anhängen:

ping 127.0.0.1 -n 5 >nul
exit

natürlich vorher die Pause weg, wenn du sie nicht brauchst.
 

Drarlor

Commander
Dabei seit
Jan. 2007
Beiträge
2.594
Code:
@echo off
echo Programm wird installiert! Bitte das Fenster nicht schlieáen!
[B][COLOR="Red"]start [/COLOR][/B]I:\windows\Pfad\Pfad\Ordner\Programm.exe /S
echo Programm wurde erfolgreich installiert!
[COLOR="red"][B]sleep 5[/B][/COLOR]
Habe die Änderungen mal rot markiert. Der Befehl "start" ist wichtig, damit die Stapelverarbeitung nach dem Aufruf der Installationsroutine weiter macht. Ansonsten wird auf den Abschluss der Installation gewartet.

Falls "sleep" auf dem Rechner nicht vorhanden ist kannst du als Workaround auch wie vorgeschlagen einen Ping machen.

Code:
ping -n 5 localhost >nul
 

AMD_Rulez

Lieutenant
Ersteller dieses Themas
Dabei seit
Feb. 2010
Beiträge
582
okay vielen danke. wenn du mir jetzt noch den sinn dahinter erklären könntest warum man den localhost and pingt und was ">nul" bedeutet, dann wäre ich rund um zufrieden:D
 

prezioso

Lt. Junior Grade
Dabei seit
Jan. 2010
Beiträge
477
Das bedeutet dass der Ping nicht aufgeführt wird, dh du siehst ihn nicht. Ansonsten würdest du ihn im Batch-Fenster sehen.
 

NullPointer

Lt. Commander
Dabei seit
Okt. 2009
Beiträge
1.570
Den Localhost pingst du nur, um etwas Zeit ablaufen zu lassen :) Und das ">nul" bewirkt, daß die Bildschirmausgabe vom Ping nicht angezeigt wird.
 

AMD_Rulez

Lieutenant
Ersteller dieses Themas
Dabei seit
Feb. 2010
Beiträge
582
achso sehr genial:) und was würde passieren wenn ich eine IP anpingen würde die nicht erreichbar ist? würde der Skript trotzdem einwandfrei laufen?
 

Drarlor

Commander
Dabei seit
Jan. 2007
Beiträge
2.594

AMD_Rulez

Lieutenant
Ersteller dieses Themas
Dabei seit
Feb. 2010
Beiträge
582
@The_1st_Knight

Danke genau das habe ich gemeint:)

Vielen Dank an den Rest für die HIlfe;)
 

ICH_BIN_LETZTER

Lt. Junior Grade
Dabei seit
Aug. 2007
Beiträge
490
Hi,

wie wäre es wenn du einfach wartes bis das programm beendet wurde?
müsste mit start /wait ... gehen wenn ich das noch richtig weiß

Gruß
 

CreeTar

Cadet 4th Year
Dabei seit
Mai 2007
Beiträge
121
Also das hilft dem Nutzer halt wenig, selbst wenn die Installation abbricht wegen einem Fehler, sagst du alles supi. Am Sichersten wäre es das per VBScript zu machen und auch zu überprüfen ob das Programm wirklich installiert ist z.B. über MSI.
Aber ansonsten kannst es auch gleich ganz weglassen, es wird immer "erfolgreich" sein nach den paar Sekunden, egal ob's klappt oder nicht :/
 
Top