问题背景
一个bat脚本,包含很多npm install 命令,如下所示:
@echo off
echo start qijing_init
cd /d %~dp0
:: npm init
git init -b main
npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react
npm install --save-dev webpack webpack-cli webpack-dev-server style-loader css-loader babel-loader
npm install html-webpack-plugin clean-webpack-plugin --save-dev
npm install react react-dom --save
这个bat脚本执行的时候,执行完第一个 npm install 之后,就停了。
解决办法
在 npm install
之前,加上一个 call
。
改完之后的bat脚本如下:
@echo off
echo start qijing_init
cd /d %~dp0
call npm init
git init -b main
call npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react
call npm install --save-dev webpack webpack-cli webpack-dev-server style-loader css-loader babel-loader
call npm install html-webpack-plugin clean-webpack-plugin --save-dev
call npm install react react-dom --save
关键点:从批处理文件中访问另一个批处理文件时,需要使用CALL命令将控制返回给父进程,否则控制权将传递给正在执行的批处理文件。
网友评论