使用批处理文件(.bat)启动多个CMD窗口并执行命令
由于每次启动本机的mongodb和kafka,都需要进入相关目录进行启动,操作相对繁琐,于是想起了批处理来帮忙一键启动。使用choice命令来延时3秒,也可用ping命令作延时,ping 127.0.0.1 -n 5。cmd /k 表示cmd后面的命令执行完后不关闭窗口。如果要在执行完成后关闭窗口可以用/c。代码结尾不加pause的原因是,执行完关闭窗口,因为不需要该窗口保留着,免得手动关闭。在命
文章共504字 · 阅读需要大约2分钟
一键AI生成摘要,助你高效阅读
问答
·
由于每次启动本机的mongodb和kafka,都需要进入相关目录进行启动,操作相对繁琐,于是想起了批处理来帮忙一键启动。
在桌面新建一个txt文件,改后缀名为.bat,并加上下面的代码。
cd /d D:\env-java\mongodb-win32-x86_64-windows-5.0.5\bin
start cmd /k mongod -f ../conf/mongod.conf --auth
choice /t 3 /d y
cd /d D:\env-java\kafka_2.13-3.5.1
start cmd /k bin\windows\zookeeper-server-start.bat config\zookeeper.properties
choice /t 3 /d y
start cmd /k bin\windows\kafka-server-start.bat config\server.properties
运行流程:
- 点击bat文件后先执行第一个语句进入到相应的目录。
- 执行第二个命令:新打开一个cmd窗口,执行
mongod -f ../conf/mongod.conf --auth
。 - 执行第三个命令:等待3秒。
- 以此类推…
代码结尾不加pause的原因是:执行.bat程序会打开一个窗口,执行完.bat程序后关闭当前窗口,因为不需要该窗口保留着,免得手动关闭。
- start 用来启动一个应用。
- cmd /k 表示启动一个CMD且不关闭cmd。
- start cmd /k “命令1 & 命令2 & 命令3” (无论前面命令是否成功, 后面都会执行)。
- start cmd /k "命令1 && 命令2 && 命令3 " (仅当前面命令成功时, 才执行后面,一般用这个)。
- start cmd /k “命令1 || 命令2 || 命令3” (仅当前面命令失败时. 才执行后面)。
- start cmd /c 启动一个CMD且关闭cmd。
- cd /d 表示运行到该目录下。
- 使用choice命令来延时3秒,也可用ping命令作延时,ping 127.0.0.1 -n 5。
在命令窗口输入choice/? 以查看更多choice命令的用法。
启动kafka和mongod用/k
的原因:
新开启一个cmd窗口运行mongod -f ../conf/mongod.conf --auth
,服务启动后要一直保持开启状态,如果用/c
关掉cmd窗口这样就关掉了服务。
更多推荐
已为社区贡献8条内容
所有评论(0)