Você já tem as informações importantes no lugar. Você conhece os nomes / nomes de arquivos de origem e de destino e tem uma variável %today
que contém a data atual.
Para mover o arquivo, você pode usar o comando move
ou algum copy
. A parte importante é que você tem o nome do arquivo do seu backup zip ( %Output_Path%\Daily_backup_%today%.zip
). Se você usar um comando de cópia, precisará usar del
posteriormente para remover o arquivo original.
Embora tenha explicado em um de seus comentários que você está usando o código a seguir para atribuir a variável hoje, isso não explica muito. As variáveis que você usa para criar %today
não são padrão. Então você já executou algum comando para construí-los.
set today=%Month%-%Day%-%Year%
Se você olhar para Como obter e exibir a data de ontem? e Como obter a data de ontem no arquivo de lote? [duplicado] você descobrirá que aparentemente não há uma maneira fácil de obter a data de ontem em um lote. Mas você provavelmente poderia usar essas soluções.
Como seu comentário aponta, você está usando a abordagem mais fácil para excluir "todos" os arquivos antigos (que devem ser apenas um) e, em seguida, apenas mover o novo arquivo.
O que você quer fazer agora é verificar sempre que uma operação foi bem-sucedida antes de prosseguir. O valor de %errorlevel%
depende do aplicativo com o qual você está lidando. Como um exemplo fácil, o seguinte retornará 0, o que indicaria que não houve erro. Que tipo de verdade é verdade, mas provavelmente não é o que você realmente quer.
del C:\Temp\ThisFileDoesn'tExist.txt
echo %errorlevel%
Uma boa pergunta com informações sobre isso parece ser check se o comando foi bem sucedido em um arquivo de lote .
Eu não sei qual programa zip você usa e você terá que verificar a documentação para obter informações sobre quais valores esperar, etc. Entretanto, em vez de verificar o valor de retorno, você pode verificar sempre que o arquivo que você espera existir. Um bom exemplo disso é Como verifique se existe um arquivo dentro de um arquivo de lote [duplicado] .
Então, o que seria uma solução possível?
- Crie seus arquivos como você fez antes
- Verifique se o seu arquivo de backup existe. Isso não testa se foram encontrados erros, mas pelo menos você sabe que algo foi gravado em um arquivo que atende ao nome desejado
- Excluir os backups antigos
- Mova o novo arquivo de backup