Por que o script em lote demoraria mais do que executar os comandos manualmente?

2

Eu escrevi um script em lote para automatizar o início do meu ambiente de desenvolvimento, mas está demorando muito para ser executado. Na verdade, nunca terminou. Ele pára após solr start . Eu estou apenas supondo que, se fosse para ser, acabaria eventualmente.

Existe alguma razão pela qual não continuaria a executar após solr start ? solr start termina completamente, então tudo o que é mostrado é um sublinhado piscante após a última linha de saída do comando.

Aqui está o meu script em lote:

cd C:\AerospikeVM
vagrant up
cd C:\solr-6.1.0\bin
solr start
cd C:\XAMPP
xampp-control
cd C:\Program Files\Android\Android Studio\bin
studio64.exe
cd C:\Program Files\NetBeans 8.1\bin
netbeans64.exe
cd C:\Program Files\Genymobile\Genymotion
player --vm-name "Samsung Galaxy S6 - 6.0.0 - API 23 - 1440x2560"
cd C:\Program Files\Git
git-bash.exe
cd C:\Users\me\Programs\Program
start notepad Phase2.0_toDoCache.txt
start notepad Phase2.0_toDoList.txt
    
por shoe 26.08.2016 / 18:27

2 respostas

3

Se você simplesmente iniciar um arquivo de lote (ou .cmd script de comando, que é basicamente a mesma coisa ) de dentro de outro arquivo de lote, ele não retornará quando o lote interno for concluído, ele simplesmente sairá.

Para evitar esse comportamento, você pode usar o comando Call para chamar o arquivo de lote aninhado / interno, o que fará com que ele retorne ao arquivo de lote pai assim que estiver pronto, e continue a executar comandos.

De call /? :

Calls one batch program from another.

CALL [drive:][path]filename [batch-parameters]

Portanto, altere solr start para call solr.cmd start e seu arquivo em lote deve continuar após o lançamento do Solr.

    
por 26.08.2016 / 18:50
2

A razão pela qual isso acontece é que o solr start está iniciando um programa, e seu script está aguardando até que o programa termine antes de continuar.

Para parar isso, você precisa usar o comando start "title" "program"

Portanto, no seu exemplo, você deseja substituir solr start por start "solr" "solr start"

    
por 26.08.2016 / 18:33