Se você usa um lote regular e não implementa START ou similar para gerar novos processos, ele aguardará o término do comando anterior antes de continuar.
O lote não avançará para o próximo comando até receber um código de saída do comando anterior. Portanto, no contexto de uma cópia de arquivo básica, ela aguardará a conclusão do comando de cópia. Você pode testemunhar isso simplesmente executando um comando Copiar no prompt de comando; não lhe dará o aviso até que seja feito a cópia.
Agora, onde você pode se deparar com problemas é quando você inicia um programa que gera novos processos que fazem o trabalho que você precisa esperar.
Por exemplo, o programa de inicialização pode sair (retornar um código de saída para o arquivo de lote, fazendo com que ele continue) antes que o novo processo iniciado termine de fazer o que você precisa antes de continuar o lote.
Nesses casos, será necessário pausar o arquivo em lotes por um período de tempo (e esperar que ele termine dentro desse período) ou usar um loop no lote para monitorar o processo a ser concluído (por exemplo: com tasklist
) antes de continuar.