Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Ajuda! Comando para passar último backup completo para disco externo
08-06-2012, 02:05
Mensagem: #12
RE: Ajuda! Comando para passar último backup completo para disco externo
Olá brunoantunes.
Desculpa, não tinha intenção de te confundir.
Estou a tentar chegar o mais próximo do que pretendo. E sabes como é... estou a tentar perceber, à medida que vou experimentando Wink Tens sido uma ajuda incansável tenho que o dizer...

(07-06-2012 16:00)brunoantunes Escreveu:  Ora ele está a subtrair numero entao..Este código só é válido caso o dia seja acima de 7.
Para ele te dar 31/05/2012, tens de criar os meses. Estas a querer complicar.

Porque queres subtrair 7 dias?

A questão de querer subtrair os 7 dias, era porque, assim teria a certeza que copiava o último backup da semana. E como o backup mensal é feito nos primeiros dias do mês, queria garantir isso mesmo.
Mas já vi que tenho muito que fazer, assim pensei na seguinte estratégia, tendo em conta as tuas dicas:

mm- vai ser a variável que diz-me o dia de hoje no formato mm (ex: 08)
aa- vai ser a variável que diz-me o ano de hoje no formato aa (ex:12)
mesbk - variável que irá corresponder ao mês anterior para o backup
anobk - variável que irá corresponder ao ano anterior para o backup

#INICIO CODIGO#
Set mm=%DATE:~3,2% \*saber o mês actual formato mm*\
set aa=%DATE:~8,4% \*saber o ano actual*\

If %mm% == 1 then \*se o mês actual for Janeiro*\
set /a anobk=%aa% - 1 \*e como o ano backup é referente ao ano que passou vou subtrair 1 ao ano actual*\
set mesbk=12 \*e digo que o mês anterior é Dezembro*\
xcopy \\Nas\backup_geral\*completo*.zip I:\ /D:%mesbk%-28-%anobk% \*copio todos os ficheiros de backup do Nas para I, que foram criados a partir do dia 28 de Dez do ano anterior*\

Else \* senão se*\

If %mm% >= 2 then \*o mês for maior ou igual que dois (abrange de Fevereiro a Dezembro*\
set /a mesbk=%mm% - 1 \*o mês que quero é o anterior, daí menos 1 *\
xcopy \\Nas\backup_geral\*completo*.zip I:\ /D:%mesbk%-28-%aa% \*copio todos os ficheiros de backup do Nas para I, que foram criados a partir do dia 28 do mês anterior, mas deste ano*\

#FIM CODIGO#

O meu problema com este código é a partir do else...
Não sei se faltam {} ou se não posso estruturar assim.
Além que usei o "==" para igual e o ">=" para maior e igual.
E o >= não corre, será preciso algo mais?

Wink Será que ainda está comigo? E já agora recomendas alguns sites para aprender programação?

Obrigada... pela ajuda!
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
RE: Ajuda! Comando para passar último backup completo para disco externo - trigoana - 08-06-2012 02:05

Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)