You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bat脚本未等待前置命令执行完毕,后续代码无法完整运行如何解决?

解决批处理脚本执行中断的问题

问题根源

脚本执行flutter create project后后续命令终止,核心原因有两个:

  1. flutter本身是批处理文件(flutter.bat),在批处理中直接调用另一个批处理时,当前脚本会被终止,转而执行目标批处理,执行完就直接退出,不会回到原脚本继续执行后续命令。
  2. 你写的timeout 25 /timeout参数错误,/timeout不是合法参数,会导致timeout命令执行失败,进一步干扰后续流程。

修改后的完整可执行脚本

@echo off
call flutter create project
timeout 25
chdir "project\lib"
md module_name && chdir module_name
md "domain/entities" "domain/repositories"
md "data"
md "presentation/pages/page_name/controllers"
exit

关键修改说明

  • 给flutter create project添加call前缀:call flutter create project,这样执行完flutter的批处理后,会回到当前脚本继续执行后续所有命令。
  • 修正timeout命令的错误参数,去掉无效的/timeout,直接写timeout 25即可(也可以用timeout /t 25,效果完全一致)。
  • 把md "domain/entities","domain/repositories"里的逗号换成空格:批处理中md命令创建多个目录需要用空格分隔,逗号会被当作目录名的一部分,导致生成错误的目录结构。

修改完成后,脚本就能完整执行:先创建Flutter项目,再自动进入project\lib目录生成你需要的层级结构。

内容的提问来源于stack exchange,提问作者Massau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:03:34