set var1=bkp
set var2=_
echo %var1%%var2%%date:~4,2%%date:~7,2%%date:~12,2%%var2%
%time:~0,2%%time:~3,2%%time:~6,2%.%var1%
Salve como “exemplo.bat” e basta chamar o comando “exemplo” para exibir na tela
o resultado.
Boa sorte,
Douglas
thingol
Abr '07
Só completando o que o Douglas disse.
No exemplo:
%date:~4,2%
Na batch:
%date:~4,2%%
É por isso que o Douglas duplicou todos os % que apareciam no exemplo que
você citou.
RenataFA
Abr '07
Amigos, obrigada pela ajuda, mas ainda estou com problemas.
Veja o trecho do meu arquivo .bat que deve fazer o que pedi:
@echo off
set var1=bkp
set var2=_
set var3=.gbk
ren c:\sistemas\manager\dados\dados.gbk %var1%%var2%%date:~4,2%
%date:~7,2%%date:~12,2%%var2%%time:~0,2%%time:~3,2%%time:~6,2%
%var1%%var3%
Então eu fiz uns testes e descobri que se eu tirar do comando a parte que deve
pegar a hora, ou seja, se eu executar desta forma:
FUNCIONA! Então o problema deve estar nos parâmetros pra pegar o formato da
hora…
Alguma idéia de como seria a forma correta? Onde eu posso consultar quais os
parâmetros possíveis?! Ainda não entendi a lógica pra formatar a data e a hora
Grata, :roll:
douglasfs
Abr '07
O problema foi a hora atual do sistema, provavelmente você executou esse batch
antes das 10 não é ?
Ele interpretou como " 9" (espaço antes do 9) e ficou mais ou menos assim o seu
comando final
Com esse espaço em branco antes do “9” rola o problema descrito por você, um
workaround para isso seria colocar um zero antes da hora atual,
consequentemente :
@echo off
set var1=bkp
set var2=_
set var3=.gbk
set hora_atual=%time:~0,2%
:FINALIZA
echo finalizando
set resultado=%var1%%var2%%date:~4,2%%date:~7,2%%date:~12,2%%var2%
%hora_atual%%time:~3,2%%time:~6,2%.%var1%
ren c:\sistemas\manager\dados\dados.gbk %resultado%
Não sou expert em batch, mas espero que isso tenha lhe ajudado em algo
[]s
Douglas
RenataFA
Abr '07
Douglas, mais uma vez obrigada por estar me ajudando… infelizmente ainda tô
fazendo alguma caquinha… Veja o meu .bat está abaixo:
@echo off
set var1=bkp
set var2=_
set var3=gbk
set hora=%time:~0,2%
:CONTINUA
ren c:\sistemas\manager\dados\dados.gbk %var1%%var2%%date:~4,2%
%date:~7,2%%date:~12,2%%var2%%hora%%time:~3,2%%time:~6,2%%var1%.
%var3%
echo.
echo BACK-UP CONCLUIDO!!!
echo.
pause
exit
Ah! E agora entendi como funciona pra pegar os pedacinhos da data, eu não
estava entendendo pq não tinha percebido que vinha escrito o nome do dia da
semana antes e então começava a contar na posição errada…
douglasfs
Abr '07
Na linha “if %hora% grt 9 goto CONTINUA”, é só substituir o “grt” por “gtr”
Boa sorte,
Douglas