[DOS] Prozess beenden & auf Anwendung warten

*FeL1x*

Cadet 4th Year
Registriert
Aug. 2006
Beiträge
96
Hallo,

sry, für die vill lächerliche Frage, aber ich habe folgende zwei Probleme:

Problem 1:
Ich suche den DOS-Befehl um einen Prozess, z.B ICQLite.exe zu beenden. Konnte bei Goolge leider nix finden.

Problem 2:
Wenn ich eine installationsrotiene erstellen möchte, möchte ich einen Befehl haben, der festlegt, dass die Rotine nacheinander abgearbeitet wird, z.B:

Code:
@echo Adobe Reader wird installiert, bitte warten...

Start /wait C:\Programm-Installation\AdobeReader_v8.exe /sAll

@echo done!
@echo Firefox wird installiert, bitte warten...

Start /wait C:\Programm-Installation\Firefox_Setup_2.0.0.1.exe -ms

@echo done!

wird so, jetzt wirklich erst der Adobe Reader installiert, dann "done!" geschrieben und dann der Firefox installiert? Wenn nicht, wie muss der Code heißen?

Danke an alle Helfenden!

Gruß *FeL1x*
 
Such mal nach dem Befehl "kill.exe" in Google, da solltest du was finden.

Beim zweiten Problem: Probier es einfach mal ohne "start /wait", vielleicht funktioniert es dann.
 
der befehl um Programme zu beenden ist "tskill"

Das mit "start /wait" müsste funktionieren. Hast du es denn schon getestet?

Ansonsten kann ich für automatische Programminstallationen AutoIt empfehlen. Kann etwas mehr als bat-Dateien.
 
Zuletzt bearbeitet:
heist der kill befehl nicht taskkill ?
 
Das klappt so einfach nicht, weil wait eine Eingabe von Zeit erfordert oder einen Key worauf es zugreifen soll. Kannst es besser mit einem VB_Script lösen.

Beispiel für Nutzung von Wait:
@ECHO OFF
ECHO Bitte 2 Minuten warten...
WAIT 120 KEY
IF ERRORLEVEL 1 ECHO 2 Minuten schon um ?
IF NOT ERRORLEVEL 1 ECHO Sie haben 2 Minuten gewartet.
Das Programm wartet aber nicht auf das Ende der Installation sondern nur die 2 Minuten.
Es wird also komplexer, dazu müsstet Du eine Errorlevelabfrage starten, die erst ausgeführt wird wenn das Setup zu Ende ist.
Benutze dazu doch "pause":
Echo
Adobe Reader wird installiert, bitte warten...
echo.
Start "" "C:\Programm-Installation\AdobeReader_v8.exe" /sAll
pause
echo
Done!
echo.
goto Firefox

:Firefox
echo
Firefox wird installiert, bitte warten...
echo.
Start "" "C:\Programm-Installation\Firefox_Setup_2.0.0.1.exe" -ms
pause
echo
Done!
echo.
goto Next

:Next

usw...

Ob es so klappt weiss ich nicht, habe es nicht getestet. Wichtig ist dass Du den Pfad in " " setzt, weil Dos evtl sonst nichts findet, teste es mal aus. Wenn es nicht so einfach klappt, mach es mit mehreren Batchdateien, wenn die erste abgearbeitet ist lässt Du die nächste aufrufen, also anstatt goto xxx startest Du xxx.bat und dann die nächste.
 
Hallo,

und danke für alle Antworten!

@DarkMole
Danke für den Killbefehl, aber leider findet er den Prozess, der eindeutig läuft nicht, wie muss ich ihn anwenden?! Ich habe "tskill ICQLite.exe" angegeben. Probiert habe ich es noch nicht, da ich die Programme alle selber schon auf dem Rechner habe und die Datei erst brauche, wenn ich die Festplatte formatieren muss um den RAID Verbund aufzustellen...siehe hier!^^
Das Programm AutiIt kan wirklich viel, ist mir, als XP nutzer aber zu hoch, da ich ansich wenig mit den befehlen zutun habe^^

@riod
Ähnliches Problem wie bei DarkMole

@werkam
Danke für deine ausführliche Antwort.
Die Variante mit "pause" ist für mich leider nicht optimal, da ich die Installation unbeaufsichtigt ablaufen lassen möche, da noch einige Programme mehr in der Datei hängen... "start /wait" habe ich so verstanden, dass sobald die installation abgeschlossen wurde und das habe ich von dieser Seite Klick, genauso, wie den Silentschalter.
Welche funktion hat "KEY" bei "WAIT 120 KEY"?

Danke für all eure Mühen!


Schöne Grüße

*FeL1x*
 
bei tskill musst du die Dateiendung weglassen. Also "tskill ICQLite" müsste funktionieren.

Um die bat zu testen musst du die Programme doch nicht installieren. Setz doch in der bat einfach z.B. notepad.exe oder firefox.exe anstatt der setup-Datei ein und lass es laufen. Wenn das script funktioniert, ist es egal, was für ne exe gestartet wird.

€: ich hab das aus deinem ersten Post (mit start /wait) mal getestet. Es funktioniert.
 
Zuletzt bearbeitet:
Pause bedeutet ja nur, das gewartet wird bis das Programm zu Ende installiert wurde, dann wird Done geschrieben und die nächste Anweisung folgt mit goto next/firefox..

Bei wait 120 key wartet der Rechner 120 sek, wenn eine Taste zwischendurch gedrückt wird, kommt ein errorlevel1 (key) und es erfolgt die Ausgabe "2 Minuten schon um ?" und so weiter. Wenn keine Taste gedrückt wird, wird geschrieben "Sie haben 2 Minuten gewartet."

echo (=echo on) kannst Du benutzen um einen Text anzeigen zu lassen. echo. (=echo off) beendet die Ausgabe am Bildschirm.
Die "" hinter start haben die gleiche Funktion wie /wait.
Habe mal vor einigen Jahren kurz was davon mitbekommen während meiner Umschulung, bin nicht so der Programmierer, deshalb kann ich das auch nicht richtig umsetzen. Wenn es denn nun auch anders klappt, ist es ja gut. Habe gerade bemerkt, das Dos-wait und XP-wait, da wird ja "start /wait" benutzt, also "start" mit Schalter, andere Funktionen haben. Sorry für mein Unwissen. :daumen:

da ich die Installation unbeaufsichtigt ablaufen lassen möche, da noch einige Programme mehr in der Datei hängen
Warum muss den bei einer unbeaufsichtigten Installation was auf dem Bildschirm erscheinen? Es sieht doch niemand wenn es unbeaufsichtigt geschieht? :lol:
 
Zuletzt bearbeitet:
hi,

pause, wirkt bei mir so, dass ich mit einer belibigen Taste bestätigen muss. Es darf doch unbeaufsichtigt sein, und wenn man trotzdem schaut, darf man doch sehen, wie weit die Installation ist, oder?
Danke für die Erklärung zu WAIT 120 KEY...

Gruß

*FeL1x*
 
Ich hab vor einigen Jahren mal ein Mini-Installscript geschrieben, was die einzelnen Setups nacheinander ausführt und mit dem nächsten wartet, bis das vorherige beendet wurde. Zwischenschritte, wie Netzlaufwerk verbinden/fertig/trennen oder Setup X wird aufgerufen, X ist fertig ... werden angezeigt. War damals nur als Notlösung. - Mittlerweile läuft das eigentlich recht ok, deshalb auch keine Optimierungen im Code (was sicherlich ginge :D)

Alle exe Files werden mit "call" gestartet.
Code:
@echo off
echo.
echo.
echo.
echo verbinde Installationslaufwerk (B:\) ...
net use B: \\w2003serv06\navinst
b:
cls
echo.
echo.
echo.
echo Installationslaufwerk verbunden
echo Navision Client installieren ...
cd navision
call setup.exe
cd..
cls
echo.
echo.
echo.
echo Installationslaufwerk verbunden
echo Navision Client installiert
echo Navision Texteditor installieren ...
cd texteditor
call setup.exe
cd..
cls
echo.
echo.
echo.
echo Installationslaufwerk verbunden
echo Navision Client installiert
echo Navision Texteditor installiert
echo Verknüpfungen kopieren ...
copy *.lnk "c:\dokumente und einstellungen\all users\desktop\" /Y
cls
echo.
echo.
echo.
echo Installationslaufwerk verbunden
echo Navision Client installiert
echo Navision Texteditor installiert
echo Verknüpfungen kopiert
echo trenne Installationslaufwerk (B:\) ...
net use B: /delete
cls
echo.
echo.
echo.
echo Installationslaufwerk verbunden
echo Navision Client Installation - FERTIG
echo Navision Texteditor Installation - FERTIG
echo Verknüpfungen kopiert
echo Installationslaufwerk getrennt
echo.
echo.
echo.
pause
exit

Um nen prozess (ggf. Remote) zu killen, eignet sich auch pskill sehr gut.
 
Zuletzt bearbeitet:
Hallo DunkelAngst,

meine Batch-Datei scheint zu funktionieren, und leider blicke ich dein Skript nicht.

Ich habe es so verstanden, dass die Installationsdateien auf einem Server gespeichert sind...falls ich irgendwann mal einen habe, kann ich dein Skript mal ausprobieren.

Für mich war das so gedacht, dass ich die Dateien von einer CD, bzw. einem USB-Stick kurz auf die Systempartion kopiere und dann die Batch datei ausführe.

Naja, danke, für alle helfenden, meine HDD sollte morgen kommen, dann sehe ich, ob alles funktioniert und berichte euch ;)

Gruß

*FeL1x*
 
Zurück
Oben