Chama o arquivo em lote que chama outro arquivo em lote usando o segundo diretório como diretório de trabalho

1

Supondo que eu tenha um arquivo em lote (start.bat) em C: \ com estas linhas:

start cmd /k call dir1\dir2.bat
start cmd /k call dir3\dir4.bat
start cmd /k call dir5\dir6.bat

Por dentro de 1,2,3.batch eu tenho

call mvn clean install

assim eu preciso de 1,2,3.batch para executar no diretório onde eles estão localizados. Outras soluções que eu encontrei usam pushd ou ~dp0 e não consigo trabalhar com start.bat porque, quando executadas, elas ainda são executadas em C: \ (o diretório de trabalho atual de start.bat)

A estrutura é esta:

C:\
    dir1
        dir2
    dir3
        dir4
    dir5
        dir6
    
por sceiler 05.10.2015 / 10:19

1 resposta

1

Indique no comando start qual deve ser a pasta ativa atual para o processo iniciado

start "[started in dir2]" /d "dir1\dir2" cmd /k 1.bat
    
por 05.10.2015 / 11:11