Windows 如何在可执行文件使用start完成后关闭命令提示符
我试图同时在11个不同的数据库上运行Flyway迁移。我是通过批处理文件来完成的Windows 如何在可执行文件使用start完成后关闭命令提示符,windows,batch-file,flyway,Windows,Batch File,Flyway,我试图同时在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
@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个命令提示符窗口,我需要手动进入每个窗口并键入“退出”。这些命令提示窗口是否可能在flyway迁移完成后自动关闭,以避免我必须手动关闭它们
我不用启动就可以完成。然后它会连续地执行迁移,但是我宁愿并行地执行迁移以节省时间
我已经尝试过在start from之后使用空字符串的方法,但这对我在Windows 8.1上没有任何帮助,只是打开了一个空标题的命令提示符,而不是我想要的标题
我也试过
cmd /c "start ^"%%~nf^" %FLYWAY_EXE% migrate -configFile=%~dp0props_flyway\%%~nf\flyway.conf"
…毫无用处
有人知道如何启动这些迁移并在完成后自动关闭它们吗?您只想退出命令窗口吗? 你必须逃过安培生 只需将
“&&exit”
添加到末尾,即可更改命令
试试看:
start“%%~nf”%FLYWAY\u EXE%migrate-conffile=%~dp0props\u FLYWAY\%%~nf\FLYWAY.conf^&^&exit
是否要退出命令窗口?
你必须逃过安培生
只需将“&&exit”
添加到末尾,即可更改命令
试试看:
start“%%~nf”%FLYWAY\u EXE%migrate-conffile=%~dp0props\u FLYWAY\%%~nf\FLYWAY.conf^&^&exit
。非常感谢你。处理:)除非EXE启动正在运行的进程或服务,否则此操作将正常工作。关闭Cmd窗口可能会导致退出该进程或服务。是的,对于我的场景来说这不是问题,因为可执行文件在完成之前不会返回。所以,这对我来说非常有效:)太棒了。非常感谢你。处理:)除非EXE启动正在运行的进程或服务,否则此操作将正常工作。关闭Cmd窗口可能会导致退出该进程或服务。是的,对于我的场景来说这不是问题,因为可执行文件在完成之前不会返回。所以,这对我来说非常有效:)