Estou tentando copiar arquivos para uma pasta somente leitura sem sobrescrevê-los

0

Li as Perguntas e respostas a partir de

Copy de um local para outro usando scripts em lote com base na data modificada e também arquivos recém-adicionados na origem

e

Copiar e mover arquivos em lote sem sobrescrever

Mas estou com dificuldades para encontrar o que estou procurando.

Eu gostaria de escrever um arquivo de script simples (.BAT) para copiar somente (não mover) arquivos de uma unidade local C: \ para uma pasta de rede segura. Como os arquivos na unidade local estão sendo modificados ocasionalmente, gostaria de manter as versões antigas e novas dos arquivos originais. Existe uma maneira de copiar todas as versões anteriores de um arquivo e automatizar a adição de um identificador (por exemplo, _01, _02 e assim por diante) na pasta de destino a arquivos recém-modificados encontrados na pasta de origem? Também estamos configurando um evento do windows para executar este script a cada 4 horas, para capturar tudo o que precisamos no caso de uma falha no PC.

Qualquer ajuda é muito apreciada porque eu sou um novato.

    
por LSus 17.11.2016 / 18:48

2 respostas

0

Que tal usar um timestamp como identificador? Nas minhas janelas alemãs

  echo %date

retorna 25.11.2016.

Usando

  set ARCHIVNAME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%

em um arquivo em lotes fará com que ARCHIVENAME seja assim:

 2016-11-2016

O primeiro n�ero representa o �dice a ser tomado, o segundo o comprimento da subcadeia, e. 6,4 significa "comece no caractere seis (depois de" 25.11. ") E use quatro caracteres (2016).

Agora você pode usar a variável ARCHIVENAME no seu comando de cópia:

copy thefile.org otherFolder\%ARCHIVENAME%_thefile.org

Isso levará ao nome do arquivo "2016-11-25_thefile.org". Caso os dias não sejam únicos o suficiente, você pode fazer o mesmo com% TIME%.

E apenas para considerar uma abordagem ligeiramente diferente:

Crie um repositório subversion local no compartilhamento de rede usando o TortoiseSVN e, em seguida, use a linha de comando svn para verificar as novas versões dos arquivos modificados.

    
por 25.11.2016 / 16:01
0

O SyncBack permitirá que você faça o backup de arquivos para um destino enquanto mantém as cópias anteriores

link

    
por 26.11.2016 / 05:15