批处理文件不等待 ng 命令完成

问题描述 投票:0回答:1

我有以下批处理文件。我需要找到一种方法让它等到

ng new
命令完成后才提示安装项目。但是,在
ng new
命令完成后,脚本退出并且从不提示我安装项目。

@ECHO OFF

SET /P name=Enter Site Name: 

cd C:\Users\eric\OneDrive\Desktop\GitHub\gig_work
START /B /WAIT ng new %name%

SET /P projects=Enter The Projects To Install: 

for %%a in ("%projects:,=" "%") do (
  npm i @farley911/%%a
)
batch-file
1个回答
0
投票

在windows环境下,安装Angular cli时,有

ng.cmd
ng.ps1
,都是与Windows相关的。和
ng
,它实际上是一个
.sh
脚本,适用于 Linux 环境。

所有这些都是简单的本地 shell 脚本,通过

ng.js
启动
nodejs
,具体取决于 shell 的选择(
cmd
Powershell
bash/sh
)。

因为您正在使用

ng.cmd
,所以您需要
call
脚本。

一些注意事项:

  1. 应该存在一个名为
    %onedrive%
    的变量来确定您的 onedrive 配置文件路径,更新如下:
  2. 如果您双引号整个包名称,则可以更好地启动
    npm
    命令,尽管您使用的选项也有效。
@echo off
pushd "%OneDrive%\Desktop\GitHub\gig_work"

set /P name=Enter Site Name: 
call ng.cmd n "%name%"

set /P projects=Enter The Projects To Install: 
for %%a in ("%projects:,=" "%") do npm.cmd i "@farley911/%%~a"
popd
© www.soinside.com 2019 - 2024. All rights reserved.