Befehlsabfolge als bat automatisch ausführen

ludwigm

Ensign
Registriert
Jan. 2016
Beiträge
184
Ich möchte gerne einige Befehle, die ich bisher per Hand in cmd eingetippt habe, automatisch als batch ausführen.
Dazu habe ich die Befehle einzeln abgespeichert. Z.B. zum Starten des PostregreSQL - Servers
cd K:\db\pgsql\bin
pg_ctl -D "K:\db\pgsql\data" start
Das klappt soweit auch, allerdings kann ich danach nicht weiter Befehle eintippen. Die Konsole kehrt also nicht zu "K:\db\pgsql\bin>" zurück.
Wie erreiche ich das?
 
Bin mir unsicher ob ich dich korrekt verstehe.
Wenn du dir einzelne *.bat Dateien abspeicherst, dann müsstest du die über eine Commandline starten, nicht einfach doppelt klicken, dann werden Sie zwar ausgeführt aber danach eben geschlossen.

oder du hängst nach der Ausführungen noch mal cmd /k cd c:\bla hinten dran.
 
Ich könnte mir auch vorstellen, dass der "pg_ctl -D "K:\db\pgsql\data" start" Befehl keine Rückmeldung bringt solange der Prozess aktiv ist.
 
@Art Vandelay wenn man es händisch macht, wird der postgreSQL Server gestartet und dann kann man den nächsten Befehl eingeben, z.B. psql starten. Den Befehl würde man idealerweise auch per Batch ausführen
 
ok, dann sollte das auch per batch zu einer Rückmeldung führen, aber dann greift ja dass was @derlorenz schrieb, dass du nur dann in deinem CMD Fenster bleibst und weitere Befehle eingeben kannst, wenn du deine Batch Datei auch von dort aus aufgerufen hast.
 
Ich habe jetzt unter K:\ eine batch erstellt:
K:
cd folder\...\pgsql\bin
pg_ctl -D "K:\a\data" start
psql -U postgres -W -d database1
Der Server startet und psql ebenfalls. Doch wenn ich dann aus psql mit \q verlassen möchte, ist die command line wie eingefroren und ich kann mit pg_ctl den Server nicht beenden oder andere Anwendungen aus dem bin Verzeichnis verwenden.
 
schon mal mit start /WAIT versucht?
also: "start /WAIT psql -U postgres -W -d database1"

Ist nur ein Schuss ins Blaue, hab die DB nicht und kann daher nichts testen.
 
Zurück
Oben