Archivo por lotes de Windows: ¿Cómo ejecutar múltiples comandos por lotes?

1

Estoy tratando de hacer algunas funciones básicas usando un archivo por lotes, pero el archivo por lotes abre cmd y ejecuta el primer comando pero luego se detiene, ignorando los otros comandos. He intentado usar STARTy CALLtampoco he tenido éxito, ¿alguien puede dar consejos?

El archivo por lotes se ve a continuación:

CD C:\Random\Madeup\Path
cmd.exe /K "npm install" 
CALL gulp-publish.BAT
CD C:\Random\Madeup\Path\mobile\dist
REN C:\Random\Madeup\Path\mobile\dist\config.xml config-publish.txt
PAUSE
Mr.B
fuente
¿Por qué está ejecutando a npmtravés de una cmdinstancia separada ?
Jeff Zeitlin
Estoy pensando que desde que abre una nueva cmdinstancia, los otros comandos pasados ​​que no se ejecutan cuando intentan instalar paquetes en la primera cmdinstancia. Como es gulpnecesario npm, devolverá un error ya que para la primera cmdinstancia npmno está instalado. Los comandos en la primera cmdinstancia aún continúan, incluso si npm installno se terminó de instalar en la segunda cmdinstancia. Eso es lo que está causando el problema en mi opinión.
Erlis D.

Respuestas:

2

El archivo por lotes abre cmd y ejecuta el primer comando pero luego se detiene

cmd.exe /K "npm install" 

Eso es lo que /kse pretende hacer:

/K     Run Command and then return to the CMD prompt.
       This is useful for testing, to examine variables

Se ejecuta cmdy luego regresa de inmediato al cmdshell envolvente, que también omite el resto de los comandos en el archivo por lotes.

Intente reemplazar esa línea con:

npm install

o:

call npm install

Otras lecturas

DavidPostill
fuente