Você poderia usar o XCopy com o parâmetro / D: (se você não colocar uma data após os dois pontos, ele copiará somente os arquivos mais recentes que o que está no diretório de destino).
Eu tenho um conjunto de 24 arquivos com 24 extensões diferentes que desejo copiar em um diretório de backup e acrescentar a data no nome do arquivo, se eles forem diferentes da versão anterior do arquivo. Eu fiz o seguinte arquivo BAT e corri-lo diariamente (existem 24 linhas no arquivo BAT, uma para cada extensão):
copie CNP.ang bakup-não-apaga \ CNP_% date: ~ 4,2% -% date: ~ 7,2% -% date: ~ 10,4% .ang
Usando o arquivo BAT acima, recebo uma cópia do arquivo de dados (todo o texto) todos os dias. Eu gostaria de adicionar um pouco mais de inteligência à cópia e só fazer a cópia se o arquivo foi alterado desde a última vez que fiz uma cópia desse arquivo. Eu suponho que eu sempre poderia fazer a cópia para o diretório de backup e, em seguida, fazer uma segunda passagem com um novo arquivo BAT e excluir o arquivo mais recente, se fosse o mesmo que a versão anterior dias.
O que eu quero fazer é proteger os dados caso alguém exclua algumas linhas e consiga restaurar o arquivo de dados anterior, mas não quero ter 30 cópias dos mesmos dados, se não tiver sido alterado.
Você poderia usar o XCopy com o parâmetro / D: (se você não colocar uma data após os dois pontos, ele copiará somente os arquivos mais recentes que o que está no diretório de destino).
Tags backup windows-7 batch-file