# DOS-Fenster mit Batch zumachen



## Founder (6. April 2004)

Hallo Leute,

wenn ich mit einer Batch-Datei ein Programm öffnen lasse, bleibt das schwarze DOS-Fenster (hässlicherweise) einfach offen. Gibt es eine Möglichkeit, mit der man das Fenster sich automatisch schließen läßt?


Herzliche Grüße,


Lotexx.


----------



## Thomas Darimont (6. April 2004)

Hallo!

Versuch mal am Ende deiner Batch Datei ein 

exit 

zu plazieren...

Gruß Tom


----------



## Founder (7. April 2004)

Nein, klappt leider nicht mit Exit.


----------



## Founder (7. April 2004)

Ich habe gerade erfahren, dass WinXP die Möglichkeit bietet, Prozesse mit taskkill.exe zu beenden.

Könnte ich nicht damit das DOS-Fenster schließen?

Gibt es etwas ähnliches auch für andere Windows-Versionen (Win98)?


----------



## Retlaw (7. April 2004)

So wie ich dich verstanden habe startest du aus deiner Batch-Datei ein anderes Programm indem du es direkt aufrufst, die Batch-Datei wartet dann bis das Programm beendet ist und macht erst dann weiter.
Lösung: Starte dein Programm mit dem Befehl "Start" (siehe auch "start /?"), dann läuft die Batch-Datei gleich nach dem Start weiter, unabhängig davon was das aufgerufene Programm macht.


----------



## Founder (8. April 2004)

Auch mit dem Befehl "Start" bleibt das Fenster stehen, auch wenn der darin enthaltene Ablauf nach dem Programmstart sofort beendet ist.

Weiß irgendjemand mehr über taskkill.exe oder eine andere Möglichkeit, mit dem man Prozesse abschießen kann?


----------



## Founder (13. April 2004)

Hat denn niemand je von taskkill.exe gehört?


----------



## Matthias Reitinger (13. April 2004)

Hey, pssst, nicht weiter sagen, aber ich hab da einen Geheimtipp... so'n Typ, der ganz viele Sachen weiß...


----------



## Thomas Darimont (13. April 2004)

Hallo!

Also bei mir funktiniert das mit dem Exit in der Batchdatei:


```
C:\>echo exit > Test.bat
```

Nach Aufruf von Test schließt sich die Konsole...

Gruß tom

Ps.:


```
C:\>ver

Microsoft Windows XP [Version 5.1.2600]
```


----------



## Founder (14. April 2004)

Komisch, weder auf Win98 noch auf WinXP macht meine Konsole das, was sie bei Dir macht.

Aber ich glaube, ich ahne, was Du in Deinem Beispiel gemacht hast: Du hast wohl mit einer MS-DOS-Eingabe oder mit einer Batch-Datei eine andere Batchdatei aufgerufen. Dann nämlich schließt sich bei mir die Konsole auch mit Exit.

Allerdings wollte ich ja nicht eine andere Batchdatei aufrufen, sondern ein EXE-Programm. Außerdem verändert der Befehl "Exit" übrigens den Inhalt der Batchdatei, so dass sie danach unbrauchbar wird...


----------



## Peter Bönnen (16. April 2004)

Jetzt kapier ich erst, was du eigentlich machen willst. Ich hätte genauso mit "exit" geantwortet bei der ursprünglichen Fragestellung.

Das DOS-Fenster wird wohl in deinem Fall nicht beendet, da mit dem Start des externen Programmes erst dessen Verarbeitung abgewartet wird (also bis das Programm beendet wird), um dann innerhalb der Stapelverarbeitung z.B. mit dem Rückgabewert des Programms arbeiten zu können.

Um das zu umgehen startest du das externe Programm am besten per "start c:\meinkleinesprogramm.exe". "Start" macht dabei nichts anderes als die im Parameter anegegebene Datei zu starten und sich danach selber zu beenden, so dass die Stapelverarbeitung nach Beenden des "start"-Prozesses unmittelbar fortgesetzt werden kann.

Peter


----------



## Graf Cracul (17. September 2004)

Ihr könnt eurem Script nur mit exit beenden wen dieser weiterläuft. Es könnte sein das ihr ein Programm aufgerufen habt und dadurch der script nicht weiterläuft.

benutzt für den aufruf des programmes den Befehl "start" davor dies bewirkt das das programm außerhalb des scripts gestartet wird und der script dann weiterläuft. Dann funktioniert aus exit

gruß Graf Dracul


----------



## Graf Cracul (17. September 2004)

> _Original geschrieben von Lotexx _
> *Auch mit dem Befehl "Start" bleibt das Fenster stehen, auch wenn der darin enthaltene Ablauf nach dem Programmstart sofort beendet ist.
> 
> Weiß irgendjemand mehr über taskkill.exe oder eine andere Möglichkeit, mit dem man Prozesse abschießen kann? *



pskill.exe 

http://www.sysinternals.com/ntw2k/freeware/pskill.shtml 

gruß Daniel


----------



## BerndStellerfern (9. Juni 2007)

Graf Cracul hat gesagt.:


> pskill.exe
> 
> http://www.sysinternals.com/ntw2k/freeware/pskill.shtml
> 
> gruß Daniel



Schön und gut. Nur WAS, also welche *.exe soll man dann mit pskill.exe schließen? cmd.exe habe ich schon ausprobiert, und das funktioniert nicht!

Nachtrag:
Doch es ist cmd.exe. Man killt mit pskill einfach cmd.exe und die Fenster gehen zu.
pskill in windows/system32 ablegen und dann in der batch schreiben:
pskill cmd.exe


----------



## chrysler (12. Juni 2007)

Normalerweise läuft das so:
Call "Programmfpad mit Leerzeichen, daher Anführungsstriche"
--> Programmfenster (.bat) bleibt geöffnet bis das Programm beendet wurde. Dann geht die batch Datei weiter.
Start "Titel des Fensters" "Programmpfad"
--> Programm wird gestartet, die batch Datei läuft weiter.


----------



## hasenschaedel (7. August 2007)

Hallo 
geht mit Eintrag in Batchdatei


START   pfad\programmname.exe
EXIT

programm wir ausgeführt, danach kommt das beenden der batch-datei
umgebung win xp


----------

