Ich versuche, Flyway-Migrationen auf 11 verschiedenen Datenbanken gleichzeitig auszuführen. Ich bin diese Datei über eine Batch tun ...So schließen Sie die Eingabeaufforderung, nachdem die ausführbare Datei den Start beendet hat
@echo off
setlocal
set FLYWAY_EXE=C:\flyway-3.2.1\flyway
for /d %%f in (%~dp0props_flyway\*) do (
start "%%~nf" %FLYWAY_EXE% migrate -configFile=%~dp0props_flyway\%%~nf\flyway.conf
)
set FLYWAY_EXE=
@echo on
Dieser Ansatz funktioniert gut, aber es lässt mich mit 11 Eingabeaufforderung Fenster offen, und ich muss manuell in jeder gehen und geben Sie „exit“. Ist es möglich, dass diese Eingabeaufforderungsfenster automatisch geschlossen werden, nachdem die Migration der Flugwege ihre Arbeit getan hat, um zu verhindern, dass ich sie alle manuell schließen muss?
Ich kann es ohne Start verwenden. Es führt dann die Migrationen nacheinander durch, aber ich würde sie lieber parallel ausführen, um Zeit zu sparen.
Ich habe versucht, eine leere Zeichenfolge nach dem Start von this question zu verwenden, aber das tut nichts für mich auf Windows 8.1, außer um die Eingabeaufforderung mit einem leeren Titel anstelle der einen zu öffnen, die ich haben möchte.
ich auch versucht habe ...
cmd /c "start ^"%%~nf^" %FLYWAY_EXE% migrate -configFile=%~dp0props_flyway\%%~nf\flyway.conf"
... ohne Erfolg.
Wer weiß, wie ich jede dieser Migrationen starten und sie automatisch schließen kann?
Superb. Vielen Dank. Arbeitete ein Vergnügen :) – ManoDestra
Dies funktioniert, es sei denn, die EXE startet einen laufenden Prozess oder Service. Das Schließen des Cmd-Fensters wird wahrscheinlich dazu führen, dass dieser Prozess oder Dienst beendet wird. – sambul35
Ja, kein Problem für mein Szenario, da die ausführbare Datei erst zurückkehrt, wenn sie fertig ist. Also, funktioniert perfekt für mich :) – ManoDestra