ALGUM COLEGA, CONHECE ARQUIVOS .BAT?
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
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
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
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" ?
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" ?
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
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
Kerplunk ,
Precisei fazer alguns ajustes , mais funcionou muito bem.
Muito obrigado!
Precisei fazer alguns ajustes , mais funcionou muito bem.
Muito obrigado!
Tópico encerrado , respostas não são mais permitidas