Tornar o arquivo em lote janela Cmd permanecer aberto por X segundos

1

Estou executando um arquivo em lote em um servidor para despejar um banco de dados MySQL.

Eu gostaria de ter a janela cmd aberta por, digamos, 20 segundos e depois fechar. Isso é assim, se eu executar manualmente, posso ver que terminou a tarefa.

Eu tentei o Sleep 20, mas parece que não funciona. O arquivo é assim:

echo CAMS MySQL database backup

"d:\program files\mysql\mysql server 5.1\bin\mysqldump" -u xxxxxxx -pxxxxxx --result-file="D:\MySQL_Data_Backups\cams\cams.%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%.sql" cams

echo Done!
sleep 20

Quando eu executo isso, ele fecha a janela sem mostrar o eco final ("Feito!").

Se eu usar pausa em vez de dormir, ele mostrará o eco final, mas eu gostaria que a janela fosse fechada após um atraso.

Alguma sugestão sobre o que eu fiz de errado?

    
por maxhugen 12.01.2014 / 01:10

2 respostas

2

Use isto:

@echo off
echo done
ping 127.0.0.0 -n 1 -w 20000 > nul

-n 1 tentativa de conexão uma vez -w 20000 espera 20 segundos

@echo apenas para ter uma saída mais bonita

Outra é:

timeout 20

Isso você pode parar antes mesmo de contar até 0.

    
por 12.01.2014 / 01:31
1

Para completar, aqui está um método antigo usando o comando clássico escolha .

ECHO waiting 5 seconds...
CHOICE /C:AB /D A /T 5 > NUL
    
por 12.01.2014 / 02:06