mit einer Batch datei 3 Programme starten
Ich möchte 3 Programme gleichzeitig mit einer Batchdatei schreiben,
die Batchdatei habe ich schon angelegt.
Dann habe ich die Pfade für alle 3 Programme untereinander reingeschrieben. Das erste wird dann auch gestartet. Und das wars.
Was muß ich dazwischen schreiben damit auch die anderen beiden Programme gestartet werden?
Antwort schreiben
Antwort 1 von SecurebyDesign vom 09.12.2021, 14:15 Options
C:\Users\Computerbenutzer>"C:\Program Files (x86)\Mozilla\Firefox\firefox.exe" & C:\Windows\notepad.exe
Antwort 2 von son_quatsch vom 09.12.2021, 14:34 Options
oder
START programm1
START programm2
START programm3
Eine Batch-Datei arbeitet immer nur jede Zeile einzeln ab - folglich wartet sie in deinem Fall auch, bis das erste Programm fertig ist.
Antwort 3 von PTXSE vom 09.12.2021, 14:34 Options
Hast du das mal selber ausprobiert. Das klappt nicht!
Antwort 4 von SecurebyDesign vom 09.12.2021, 14:49 Options
also das hier als ping-1.cmd abgeschpeichert funktioniert bestens
start ping 192.168.155.132
start ping 192.168.155.130
start ping 192.168.155.131
das mit & bin mir nicht mehr so sicher
Antwort 5 von son_quatsch vom 09.12.2021, 15:03 Options
Das & ist eine Befehlsverkettung - aber auch eine Kette wird nacheinander abgearbeitet. Die START-Anweisung hingegen (tipp mal START /? oder HELP START) ist CreateProcess-orientiert: sie startet das Programm und wartet nur dann auf dessen Ende, wenn man es ihr auch mit /WAIT sagt.
Das alles hat den Grund, weil BATCH an sich ja aus DOS-Zeiten kommt und damals eben kein Multitasking möglich war und somit auch nicht mehrere Prozesse "gleichzeitig" gestartet werden (besser formuliert: gleichzeitig laufen) können. Schon damals gab es die Befehlsverkettung &, die aber auch ihrerseits (wie heute) einzeln abgearbeitet wird.
Deshalb "funktioniert" (besser formuliert: verhält sich deinen Wünschen) das & in diesem Fall nicht und stattdessen ist START die Lösung.
Antwort 6 von PTXSE vom 09.12.2021, 15:58 Options
Geht aber doch alles nicht was ihr mir bislang vorgeschlagen habt!
Start ....
Start ....
Start ...
Kann doch nicht gehen weil das erste Programm ja nicht beendet wird!
Keiner mehr eine Idee?
Antwort 7 von son_quatsch vom 09.12.2021, 16:12 Options
Das hast du nicht verstanden UND nicht ausprobiert. START startet einen Prozess und kehrt dann zur Shell zurück. Folglich wird auch der nächste START-Befehl abgearbeitet - völlig unabhängig davon, ob das vorige Programm noch läuft oder nicht.
Antwort 8 von son_quatsch vom 09.12.2021, 16:19 Options
...aber um es noch unmissverständlicher zu zeigen: erstell eine starttest.bat mit folgendem Inhalt und ruf sie auf:
start notepad
start notepad
start notepad
Antwort 9 von PTXSE vom 09.12.2021, 16:37 Options
Das haut hin. Es geht 3 mal notepad auf. Hier mal der Inhalt meiner Batch-Datei:
Start C:\Programme\PeerGuardian2\pg2.exe
Start C:\Programme\Vidalia Bundle\Vidalia\vidalia.exe
Start Z:\Programme\JDownloader\JDownloader.exe
Es geht nur das erste Programm auf.
Antwort 10 von son_quatsch vom 09.12.2021, 16:43 Options
...und du kriegst nicht zufällig die Fehlermeldung "C:\Programme\Vidalia konnte nicht gefunden werden..."?
Antwort 11 von PTXSE vom 09.12.2021, 16:51 Options
Ne die bekomme ich erst beim dritten Programm, beim zweiten kommt immer das Fenster " Öffnen mit".
Antwort 12 von son_quatsch vom 09.12.2021, 16:53 Options
Und warum verschweigst du das?
Kurzum: Leerzeichen sind Parametertrenner. Damit sie das nicht sein sollen (weil ein Parameter an sich Leerzeichen enthält), so muss das ganze in Anführungsstriche gesetzt werden. Das kann aber auch generell gemacht werden:
Zitat:
Start "C:\Programme\PeerGuardian2\pg2.exe"
Start "C:\Programme\Vidalia Bundle\Vidalia\vidalia.exe"
Start "Z:\Programme\JDownloader\JDownloader.exe"
Antwort 13 von Yossarian vom 09.12.2021, 17:14 Options
Zitat:
Start "C:\Programme\PeerGuardian2\pg2.exe"
Start "C:\Programme\Vidalia Bundle\Vidalia\vidalia.exe"
Start "Z:\Programme\JDownloader\JDownloader.exe"
Nicht ganz korrekt. Funktioniert nicht.
Bei Nutzung des Befehls START mit Anf.zeichen muss der Parameter "Titel" mit angegeben werden, z.B. so
Start "Tinky-Winky" "C:\Programme\PeerGuardian2\pg2.exe"
Start "Dipsy" "C:\Programme\Vidalia Bundle\Vidalia\vidalia.exe"
Start "Laa-Laa" "Z:\Programme\JDownloader\JDownloader.exe"
oder leer lassen:
Start "" "C:\Programme\PeerGuardian2\pg2.exe"
Start "" "C:\Programme\Vidalia Bundle\Vidalia\vidalia.exe"
Start "" "Z:\Programme\JDownloader\JDownloader.exe"
mfg, Yossarian
Antwort 14 von PTXSE vom 09.12.2021, 17:45 Options
Super Yossarian. Du hast es drauf. Jetzt hauts hin. Bloß das dritte Programm startet noch nicht. Weil es wohl auf Laufwerk Z ist. Was muß ih da noch zu schreiben?
Antwort 15 von son_quatsch vom 09.12.2021, 18:04 OptionsLösung
Das dürfte nicht das Problem sein. Stimmt der Pfad? Die JD-exe liegt normalerweise in einem \bin-Unterordner, soweit mein Wissen aktuell ist.
Antwort 16 von PTXSE vom 09.12.2021, 19:48 Options
Jetzt läuft es. Hab den Pfad nochmal kopiert und eingefügt. Gibt es auch ein Befehl um diese 3 Programme wieder zu schließen?
Wenn nicht ist es auch nicht schlimm.
Vielen Dank an alle. Habt mir sehr geholfen!
Antwort 17 von Elefunty vom 09.12.2021, 19:55 Options
einen sauberen (einfachen) nicht.
sonst könntest du dir pskill laden (googlen) und nach C:\Windows\system32 kopieren
und ne batch schreiben:
pskill JDownloader.exe
pskill vidalia.exe
pskill pg2.exe
problem: die programme werden einfach "abgewürgt" und nicht ordnungsgemäß beendet. dadurch werden einstellungen evtl nicht gespeichert, Memory-leaks entstehen oder andere probleme treten auf.
Ele
Antwort 18 von son_quatsch vom 10.12.2021, 07:40 Options
Zitat:
einen sauberen (einfachen) nicht.
Hier kann ich wieder sagen:
doch :-)
TASKKILL /IM notepad.exe
Beendet z.B. Notepad. Kann man ausprobieren, indem man Notepad startet, etwas reinschreibt und dann diesen Befehl ausführt. Ohne den Parameter /F ist es nämlich gar kein "Kill", sondern eine saubere Beendigungsanfrage. Zu erkennen daran, dass Notepad nicht sofort beendet wird, da es immernoch nachfragt, ob man die Änderungen speichern will.
taskkill /im JDownloader.exe
taskkill /im vidalia.exe
taskkill /im pg2.exe
Deine Programme müssen also nur noch so konfiguriert sein, dass sie sich das Beenden nicht nochmal bestätigen lassen wollen.
Haken hierbei wieder: JD ist glaub ich bloß ein Loader für JAVAW - also prüf hier erstmal, ob diese jene EXE überhaupt noch aktiv ist - denn sonst musst du natürlich was andres beenden...