Como executar vários arquivos em lote com um arquivo mestre de lote

4

Eu tenho três arquivos bat que gostaria de executar, em três diretórios diferentes:

diretório / bat1 / bat1.bat

diretório / bat2 / bat2.bat

diretório / bat3 / bat3.bat

Eu gostaria de usar um mestre .bat para iniciar todos os outros morcegos em seus diretórios. Eu não posso usar chamada porque recebo erros porque há dependências para cada morcego diferente no diretório. Eu tentei usar o início, mas isso não funciona, basta trazer um prompt de comando na pasta.

Eu sei que isso soa um pouco confuso, mas tudo que eu quero fazer é usar um único arquivo .bat para executar vários arquivos .bat independentes entre si em seus próprios diretórios.

    
por JCTechie 06.04.2016 / 20:01

3 respostas

4

Eu encontrei uma solução! Eu usei esse código para fazer o bastão abrir os três arquivos de morcego diferentes independentemente:

cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat
    
por 06.04.2016 / 20:18
4

Se você usar start , os outros arquivos bat criarão um novo processo para cada bat e os executará todos ao mesmo tempo.

cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat

Mas se você quiser executar o próximo após o último, você pode usar chamada

cd "\directory\bat1\"
call bat1.bat
cd "\directory\bat2\"
call bat2.bat
cd "\directory\bat3\"
call bat3.bat

não se esqueça do primeiro \ no início do cd , caso contrário, ele tentará alterar o diretório para um subdiretório do diretório de trabalho atual.

    
por 06.04.2016 / 22:24
1

Então eu lutei com esse problema, e nenhuma dessas soluções ou outras funcionaram. O que eu queria fazer em um arquivo de lote "mestre" era acessar subpastas e executar batchfiles nessas pastas em sequência. Isso é o que eu acabei fazendo,

cd Folder1
call batch_cmd.bat
cd ..
cd Folder2
call batch_cmd.bat
cd ..

etc etc.

Este formato funcionou bem para mim desde que eu estava usando o javascript / nodejs para gerar esses comandos e arquivos em lote.

Se você quiser fazer algo totalmente em arquivos em lote, sugiro que procure scripts do PowerShell.

    
por 20.02.2018 / 18:39