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