0
我試圖同時在11個不同的數據庫上運行Flyway遷移。我通過一個批處理文件這樣做......如何在可執行文件完成啓動後關閉命令提示符
@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
這種方式工作得很好,但它給我留下了11命令提示符窗口打開,我需要手動進入每個並鍵入「exit」。這些命令提示符窗口可能會在飛路遷移完成後自動關閉,以免我手動關閉它們。
我可以做到這一點,而無需使用開始。然後它會連續執行遷移,但我寧願並行執行以節省時間。
我試過從this question開始使用空字符串的方法,但是這對Windows 8.1沒有任何幫助,除了用空標題而不是我想要的名稱打開命令提示符。
我也試過......
cmd /c "start ^"%%~nf^" %FLYWAY_EXE% migrate -configFile=%~dp0props_flyway\%%~nf\flyway.conf"
...無濟於事。
任何人都知道我可以如何開始每個遷移並在完成後自動關閉?
精湛。非常感謝你。工作了一個治療:) – ManoDestra
這將工作,除非EXE開始運行的進程或服務。關閉命令窗口可能會導致退出該進程或服務。 – sambul35
是的,對我的情況來說不是問題,因爲可執行文件在完成之前不會返回。所以,對我來說是完美的:) – ManoDestra