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

Windows cmd脚本执行ng build后停止不执行后续命令如何解决

问题根因

Windows环境下npm全局安装的Angular CLI提供的ng命令,本质是存放在npm全局路径下的ng.cmd批处理脚本。在cmd批处理文件中直接调用其他批处理文件时,当前脚本会将执行控制权完全移交到被调用的批处理,被调用批处理执行完毕后会直接终止整个批处理执行上下文,不会返回原脚本执行后续指令,这就是echo命令始终不触发的原因。

解决方案

优先使用call命令调用ng指令,这是cmd原生提供的、专门用于在批处理中调用其他脚本且执行结束后返回原流程的指令,修改后的test.cmd内容如下:

call ng build
echo Done. > done.txt

修改后直接运行脚本,ng build执行完成后会自动继续执行后续的echo命令,正常生成done.txt文件。

如果不想使用call,也可以通过启动独立cmd子进程的方式调用ng命令,写法如下:

cmd /c ng build
echo Done. > done.txt

该方式会额外启动一个独立的cmd子进程执行ng build,子进程执行结束后自动关闭,回到原脚本继续执行后续逻辑,缺点是会多产生一次进程启动的开销,非特殊场景优先选择call的写法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:39:18