Melhor idioma/sistema para copiar arquivos e diretórios automaticamente em lote com renomeação de arquivos no Windows 8/10?

Melhor idioma/sistema para copiar arquivos e diretórios automaticamente em lote com renomeação de arquivos no Windows 8/10?

Robocopy chegou tão perto, mas falta a renomeação do arquivo na cópia. Então, as pessoas poderiam me indicar um idioma ou sistema no Windows que seja adequado para o seguinte:

Este é um plano de backup simples e básico para uma rede doméstica com alguns laptops e PCs Win8/10 e uma unidade de rede central (uma unidade externa USB conectada à porta USB do roteador). Quase todos os arquivos para backup são imagens, vídeos ou músicas - já compactados, então não faz sentido usar um software comercial de backup com compactação. Além disso, não quero que meus arquivos sejam encapsulados em um formato proprietário de arquivo de backup. Só preciso de cópias.

Estou imaginando um arquivo em lote de shell de comando, ou VBScript, ou .....

O sistema ideal me permitiria programar backups agendados de pastas selecionadas (incluindo todas as suas subpastas) nos computadores para suas respectivas pastas na unidade de rede. Após um backup inicial completo de cada um, o sistema executaria backups incrementais. Esses backups incrementais seriam apenas para fazer uma cópia de qualquer novo arquivo e fazer uma nova cópia com um nome de arquivo indexado de qualquer arquivo que tenha sido alterado desde o último backup. É isso.

Como eu disse, o Robocopy em um arquivo em lote chegou perto, mas não consegue renomear arquivos. Não quero criar novas pastas com nomes indexados - quero todos os arquivos renomeados nas pastas originais.

Eu poderia passar meses pesquisando e aprendendo todos os comandos e sistemas possíveis do Windows que existem na esperança de encontrar algo que faça isso. Já passei dias pesquisando software de backup e Robocopy. Então, eu esperava que esta placa pudesse me apontar a direção certa de algo que tivesse os comandos e funções necessários para fazer isso.

Obrigado.

Responder1

Após um backup inicial completo de cada

Esta parece ser uma situação ideal para robocópia; parece que você está ficando preso a isso:

..backups incrementais seriam apenas para fazer uma cópia de qualquer novo arquivo e fazer uma nova cópia com um nome de arquivo indexado de qualquer arquivo que tenha sido alterado desde o último backup.

Para lidar com essa situação, eu usaria FCum loop para comparar um arquivo, se ele existir no backup completo e, se existir, individualmente copye incluiria seu nome modificado.


Então, para configurar isso, eu determinaria:

  1. com que frequência você deseja fazer seu backup completo e se deve ou não apagar conteúdos que não existem mais na pasta de origem e
  2. com que frequência você gostaria de fazer backups incrementais, se não manualmente.

Em ambos os casos, provavelmente configuraria uma tarefa agendada no Windows para executar o arquivo em lote necessário. A complexidade de qualquer um dos scripts será determinada pela sua estrutura de diretórios, mas na maioria das vezes é assim que sua lógica de backup incremental seria:

@echo off

set "dir=C:\Your\Directory"
set "bkp=N:\Your\Backup\Drive"

for %%A in (%dir%\*) do (
    if exist "%bkp%\%%~nxA" (
        fc "%%A" "%bkp%\%%~nxA"
        if %ERRORLEVEL% EQU 1 (copy /y "%%A" "%bkp%\%%~nA MODIFIED%%~xA")
        )
    )
)

Você pode usar extensões de parâmetro e foropções diferentes para personalizar o loop com base em como seus diretórios estão configurados. Se você não quiser excluir nada por meio do robocopy, basta usar robocopy "source" "destination" /e- você também pode fazer um loop no robocopy forpara fazer pastas individuais por vez, em oposição ao seu diretório raiz - dessa forma, você pode gerar um arquivo de log para cada uma, se você ' estamos procurando ter uma visibilidade mais granular.

Referência:robocópia,FC,para,cópia de,parâmetros

informação relacionada