IT Geek: Como manter arquivos com o mesmo nome em sincronia

Índice:

IT Geek: Como manter arquivos com o mesmo nome em sincronia
IT Geek: Como manter arquivos com o mesmo nome em sincronia

Vídeo: IT Geek: Como manter arquivos com o mesmo nome em sincronia

Vídeo: IT Geek: Como manter arquivos com o mesmo nome em sincronia
Vídeo: Como fazer backup do notebook na nuvem? Backup do PC na nuvem - YouTube 2024, Maio
Anonim
Você provavelmente já ouviu falar de serviços, como o Dropbox, que são usados para manter os arquivos sincronizados em várias máquinas. No entanto, e se você quiser executar esta operação em uma única máquina? Ou seja, mantenha os arquivos que tenham o mesmo nome de arquivo em sincronia na máquina, de modo que, quando um dos arquivos for alterado, todos sejam atualizados.
Você provavelmente já ouviu falar de serviços, como o Dropbox, que são usados para manter os arquivos sincronizados em várias máquinas. No entanto, e se você quiser executar esta operação em uma única máquina? Ou seja, mantenha os arquivos que tenham o mesmo nome de arquivo em sincronia na máquina, de modo que, quando um dos arquivos for alterado, todos sejam atualizados.

Essa funcionalidade pode ser bastante útil, especialmente para desenvolvedores ou administradores de sistema, onde a duplicação de arquivos é às vezes necessária.

Como funciona

Suponha que você seja um desenvolvedor da Web que, ao longo do tempo, tenha reunido uma bela coleção de funções Javascript que você usa em todos os sites que você mantém. À medida que você adiciona ou aprimora esse arquivo Javascript (vamos chamá-lo de “library.js”), somente a cópia atual que você está editando é atualizada. Isso significaria, por exemplo, se você fizer uma correção ou melhoria de bug, teria que aplicá-la manualmente à pasta de código-fonte de cada um dos outros sites.

Nossa ferramenta tenta resolver o problema de ter que aplicar manualmente o arquivo atualizado a cada pasta de origem. O que faz:

  1. Procura por todos os arquivos com um nome especificado (library.js) dentro de uma pasta raiz especificada (% UserProfile% Documents Web Sites).
  2. Para todos os arquivos denominados library.js, ele localiza aquele que foi modificado mais recentemente e anota seu valor de hash do arquivo.
  3. Todos os outros arquivos denominados library.js (que não são a cópia atualizada mais recente) terão seu valor de hash do arquivo comparado com o mais recente (determinado na etapa anterior).
  4. Se os valores de hash do arquivo forem diferentes, a respectiva cópia de library.js será substituída pela cópia atualizada mais recentemente.

Como estamos usando valores de hash para comparar os arquivos, temos certeza de que os arquivos substituídos são realmente diferentes da cópia mais recente. Por exemplo, se você executasse o processo e 5 substituições de arquivo fossem feitas, executar o processo novamente imediatamente depois não faria nenhuma substituição, pois os valores de hash do arquivo agora são idênticos.

Atualizar para a nova ferramenta de cópia

A ferramenta Atualizar para a ferramenta de cópia mais recente é uma versão modificada de um script em lote com o mesmo nome (ambos estão disponíveis para download usando os links na parte inferior do artigo) que foi convertido em um arquivo EXE para incluir o Nirsoft necessário Utilitário HashMyFiles. A ferramenta deve ser executada a partir da linha de comando com determinados parâmetros especificados. Se você fosse apenas executar o arquivo EXE clicando duas vezes, você receberá uma mensagem indicando isso.

Para usar o Update to Newest Copy, você pode visualizar os parâmetros executando “UpdateToNewestCopy /?”, Que mostra o seguinte diálogo:

Os únicos parâmetros necessários são o SourceFolder (por exemplo,% UserProfile% Documents Web Sites) e o FileName (library.js). No entanto, você pode alterar a funcionalidade adicionando switches adicionais conforme descrito acima.
Os únicos parâmetros necessários são o SourceFolder (por exemplo,% UserProfile% Documents Web Sites) e o FileName (library.js). No entanto, você pode alterar a funcionalidade adicionando switches adicionais conforme descrito acima.

Exemplos

O seguinte comando localizaria todos os arquivos denominados “Common.vb” dentro da pasta “C: users jfaulkner documents Arquivos de Código”, realizando a substituição, mas fazendo um backup da cópia atual antes de sobrescrevê-la (esta saída é o que produziu o arquivo imagem superior para este artigo):

UpdateToNewestCopy “C:usersjfaulknerdocumentsCode Files” Common.vb /B

O comando a seguir executa a mesma ação de pesquisa acima, no entanto, ele apenas relata os arquivos que seriam substituídos e, na verdade, não realiza operações de arquivo:

UpdateToNewestCopy “C:usersjfaulknerdocumentsCode Files” Common.vb /V

Suponha que haja um arquivo chamado “C: Config FilesToSearch.txt” com o seguinte conteúdo:

library.js Common.vb

O comando a seguir procuraria a pasta my documents do usuário atual e relataria quaisquer atualizações para “library.js” e “Common.vb”, mas na verdade não executaria nenhuma operação de atualização:

UpdateToNewestCopy “%UserProfile%Documents” “C:ConfigFilesToSearch.txt” /L /V

Automatizando o processo

Este processo é um candidato ideal para automação. Criando uma tarefa agendada (nada de especial necessário) com as configurações especificadas e fazendo com que ela seja executada diariamente / por hora / a cada 15 minutos (dependendo de suas necessidades), você pode manter os arquivos sincronizados em true set-it-and-forget-it moda.

Baixar

Atualizar para o formato executável de cópia mais recente - modificada

Atualizar para a cópia mais recente - arquivos em lote de origem (mais orientada para linha de comando)

Recomendado: