2016-08-12 2 views
0

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?

Antwort

3

Sie möchten nur das Befehlsfenster verlassen? Sie müssen den Ampersand entkommen

einfach Ihren Befehl, indem Sie auf " && exit" Anheften ändern

TRY zu beenden:

start "%%~nf" %FLYWAY_EXE% migrate -configFile=%~dp0props_flyway\%%~nf\flyway.conf ^&^& exit

+0

Superb. Vielen Dank. Arbeitete ein Vergnügen :) – ManoDestra

+0

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

+0

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

Verwandte Themen