Arquivo em lote do Windows: como executar vários comandos em lote?


1

Estou tentando fazer algumas funcionalidades básicas usando um arquivo em lotes, mas o arquivo em lotes abre o cmd e executa o primeiro comando, mas para, ignorando os outros comandos. Eu tentei usar STARTe, CALLmas nem tive sucesso, alguém pode fornecer conselhos?

O arquivo em lote é exibido abaixo:

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

Por que você está executando npmatravés de uma cmdinstância separada ?
22817 Jeff Zeitlin

Estou pensando desde que você abre uma nova cmdinstância, os outros comandos anteriores que não são executados quando tentam instalar pacotes na primeira cmdinstância. Como gulpnecessidades npm, ele retornará um erro, pois a primeira cmdinstância npmnão está instalada. Os comandos na primeira cmdinstância ainda continuam, mesmo se npm installnão tiver sido concluído a instalação na segunda cmdinstância. É isso que está causando o problema na minha opinião.
Erlis D.

Respostas:


2

O arquivo em lotes abre o cmd e executa o primeiro comando, mas para

cmd.exe /K "npm install" 

É isso que /kse pretende fazer:

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

Ele é executado cmde, em seguida, retorna imediatamente ao cmdshell anexo , que também ignora o restante dos comandos no arquivo em lotes.

Tente substituir essa linha por:

npm install

ou:

call npm install

Leitura adicional

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.