Eu tenho um arquivo em lotes que chama outro arquivo em lotes que existe no diretório PATH (basicamente chamando um executável com opções adicionais).
: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.
Em foo.bat:
foo.exe -t -s %1
O bar.bat executa o primeiro comando, mas é fechado imitadamente (ou seja, trabalhando apenas no arquivo1.txt ).
Como posso fazer com que esse arquivo em lotes chame o outro arquivo em lotes mais de uma vez?
goto :eof
para retornar mais cedo.exit /b
geralmente é necessário apenas se você precisar do código de retorno.exit /b
egoto: eof
. Tudo bem anexar a saída do bastão chamado?call foo.bat > myfile
Além da resposta de @ splattne, use
exit /b
noCALL
arquivo em lotes ed se precisar retornar mais cedo.fonte
Outra opção (para compatibilidade com o DOS anterior à versão 3.3 :-)) é chamar o processo de comando com a opção filho (/ c) e o nome do outro arquivo em lotes a ser processado. Isso também fará uma ligação em vez de uma cadeia e até funcionará em máquinas verdadeiramente antigas (apenas no caso de alguém passar por isso e se importar). :-)
fonte
@echo off
eco WbLegalReport.cmd
Eu:
CD I: \ CFS \ Batch \ jarDir
eco% CD%
WbLegalReport.cmd
eco% CD%
echo WatchResrAddDeleted.cmd
eco% CD%
WatchRestrAddDeleted.cmd
eco% CD%
O que estou tentando fazer aqui é chamar esses dois arquivos em lotes em uma sequência.
Não foi possível fazer isso.
ajuda por favor.
Na verdade, está falhando no script filho, pois o controle não retorna ao script principal
fonte
Sanket, não chame o arquivo em lotes diretamente. Use o comando "CHAMAR". Veja o exemplo de splattne .
fonte