Batch-Skript soll sich automatisch schließen.

AMD_Rulez

Lieutenant
Registriert
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.
 
Mach einfach nen Ping aufn Localhost und dann exit.
 
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?
 
einfach das anhängen:

ping 127.0.0.1 -n 5 >nul
exit

natürlich vorher die Pause weg, wenn du sie nicht brauchst.
 
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
 
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
 
Das bedeutet dass der Ping nicht aufgeführt wird, dh du siehst ihn nicht. Ansonsten würdest du ihn im Batch-Fenster sehen.
 
Den Localhost pingst du nur, um etwas Zeit ablaufen zu lassen :) Und das ">nul" bewirkt, daß die Bildschirmausgabe vom Ping nicht angezeigt wird.
 
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?
 
AMD_Rulez schrieb:
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?

Prinzipiell schon. Aber du kannst dich dann nicht mehr darauf verlassen, dass es auch 5 Sekunden sind.
 
@The_1st_Knight

Danke genau das habe ich gemeint:)

Vielen Dank an den Rest für die HIlfe;)
 
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ß
 
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 :/
 
Zurück
Oben