ALGUM COLEGA, CONHECE ARQUIVOS .BAT?

MARCOS 17/08/2023 13:18:03
#501658
Boa tarde, colegas!
Criei este arquivo .bat para fazer backup de uma base de dados que tenho.
Funciona pefeito!
Esta salvando o nome do Backup , com a data e o horário.
O problema é que o horário, esta salvando somente a "Hora" , sem os minutos.

Algum colega, sabe como posso configurar a variável "TIME, para exibir o horário no formato "00:00" ????


@echo off

setlocal

set "DATABASEUSER=meuusuario"

set "DATABASEPASSWORD=minhasenha"

set "DATABASE=minhabasededados"

set "BKPDIR=C:\Bk"

for /f "tokens=1-4 delims=/: " %%a in ('echo %DATE% %TIME%') do (

set "YEAR=%%c"

set "MONTH=%%a"

set "DAY=%%b"

set "TIME="%%d"
)

set "DATE=%DAY%-%MONTH%-%YEAR%_%TIME:~0,5%"

mysqldump -h 10.1.1.50 --port 3306 -u %DATABASEUSER% -p%DATABASEPASSWORD% %DATABASE% > "%BKPDIR%\bakcov %DATE%.sql"

endlocal
KERPLUNK 17/08/2023 19:41:35
#501660
Resposta escolhida
O nome do arquivo seria um dos parâmetros do seu bat, mas não é necessário, da pra pegar a data e hora automático. Não sei se vai dar certinho, mas tenta assim:

@echo off
setlocal

set "DATABASEUSER=meuusuario"
set "DATABASEPASSWORD=minhasenha"
set "DATABASE=minhabasededados"
set "BKPDIR=C:\Bk"

set shortTime=%time:~0,8%
set shortTime=%shortTime: =0%
set dataArquivo=%date:/=%_%shortTime::=%

mysqldump -h 10.1.1.50 --port 3306 -u %DATABASEUSER% -p%DATABASEPASSWORD% %DATABASE% > "%BKPDIR%\bakcov %dataArquivo%.sql"

endlocal
MARCOS 18/08/2023 08:50:25
#501661
Kerplunk,
Seu Script funcionou perfeitamente.
"Somente", a formatação ficou um pouco fora.
O resultado foi um arquivo salvo com o nome de:

bakcov 18082023_08435100000 .sql

É possível no Shell, retirar estes números depois do horário de "08:43" ?
KERPLUNK 18/08/2023 11:03:30
#501662
Alterado em 18/08/2023 11:09:52 Nunca tentei, mas acho que assim deve funcionar.


@echo off
setlocal

set "DATABASEUSER=meuusuario"
set "DATABASEPASSWORD=minhasenha"
set "DATABASE=minhabasededados"
set "BKPDIR=C:\Bk"

set t=%date%_%time%
set dataArquivo=%t:~0,2%%t:~3,2%%t:~6,4%_%t:~11,2%%t:~14,2%%t:~17,2%

mysqldump -h 10.1.1.50 --port 3306 -u %DATABASEUSER% -p%DATABASEPASSWORD% %DATABASE% > "%BKPDIR%\bakcov %dataArquivo%.sql"

endlocal
KERPLUNK 18/08/2023 11:05:39
#501663
Aquela linha ali "set dataArquivo", é o que gera a string de data e hora, é mais ou menos como a função de substring, de qual posição, pega quantos caracteres. Se quiser mudar o nome do arquivo, é só mexer nela
MARCOS 21/08/2023 11:48:49
#501667
Kerplunk ,
Precisei fazer alguns ajustes , mais funcionou muito bem.
Muito obrigado!
Tópico encerrado , respostas não são mais permitidas