Robocopy substitui o mesmo movimento do arquivo de data

1

Estou usando o robocopy para mover dados. Eu quero conseguir isso

Se os dados do arquivo de origem (mais recente ou igual) moverem / substituir os dados Outro arquivo de salto

Eu preciso de um switch ou uma maneira de excluir apenas os novos, não os novos ou os mesmos dados . Estou usando o Robocopy para limpar e mover muitos dados para um grande dispositivo de armazenamento.

Uma linha para excluir arquivos da origem com data correspondente ao destino também seria útil

/XO arquivos excluídos Mesma data ou arquivos mais recentes no destino /XN excluiu arquivos mais antigos na origem e mais recentes no destino

Alguns dos dados já estão nessa fonte.

Meu problema que desejo excluir exclui a mesma data. Quero ter certeza de mover (e sobrescrever para que a fonte fique limpa) os dados com dados novos ou iguais à origem.

Estou usando o /XO switch

/ XO: eXclude Older - se o arquivo de destino existir e for a mesma data ou mais recente que a fonte, não se preocupe em sobrescrevê-lo.

O problema é que eu também quero mover os mesmos dados de data, não apenas o mais recente. Existe uma maneira de fazer isso?

    
por Ahmad Bahrani 17.12.2015 / 18:31

1 resposta

0

Robocopy replace same date file move

IF Source File data (Newer or Same) move/overwrite data Else skip file

Para concluir, use Robocopy com o script em lote de exemplo fornecido abaixo de sytax e todos .

I want to just excluded older not same date. I want to make sure to move (and overwrite so source get clean) the data with new or same data as the source.

The issue is I also want to move the same date data not just the newer.

Como, por padrão, o Robocopy só copiará um arquivo se a origem e o destino tiverem carimbos de data / hora diferentes ou tamanhos de arquivo diferentes, você precisará usar a opção /IS para também copiar os mesmos dados também e, se use a opção /MOVE , ela também removerá esses arquivos e pastas da fonte.

Opções de Robocopy usadas

(eu usei esses switches em particular, mas você deve testar para confirmar todos os trabalhos como esperado apenas no caso.)

/S         : Copy Subfolders, but not empty ones.
/NP        : No Progress - don’t display % copied. (for cleaner log file)
/R:n       : Number of Retries on failed copies - default is 1 million.
/MOVE      : Move files and dirs (delete from source after copying).
/IS        : Include Same, overwrite files even if they are already the same.
/TS        : Include Source file Time Stamps in the output. (for log file)
/FP        : Include Full Pathname of files in the output. (for log file)
/LOG+:file : Output status to LOG file (append to existing log).

Para as variáveis abaixo:

  • SET SRCRoot="\Server\Share\Source"
  • SET DESTRoot="\Server\Share\Destination"

Os SET SRCRoot e SET DESTRoot são os diretórios raiz \ pai dos quais você copiará de e para o nível mais alto, recursivamente. Você pode definir um desses para um caminho de letra de unidade (por exemplo, C:\Path ) ou pode ser mantido como caminho UNC (por exemplo, \server\share\folder ) e funcionará de qualquer maneira.

  • SET LOG=C:Path\Log.txt

O SET LOG é o nome e o local do seu arquivo de log anexado. Ele também pode apontar para um caminho completo da unidade ou um caminho UNC. Este é o arquivo que você pode analisar para obter todos os detalhes sobre o que foi copiado, o que não foi, mensagens de erro, etc. Isso é estritamente opcional, mas sugiro usá-lo sempre e revisar conforme necessário para solução de problemas ou confirmação.

Exemplo de script em lote do Robocopy

Se você também precisar copiar a segurança em nível de arquivo dos arquivos e da pasta copiados para a origem do destino (as ACLs), informe-nos, pois você provavelmente incluirá o /SEC ou /COPYALL swithces.

@ECHO ON
SET SRCRoot="\Server\Share\Source"
SET DESTRoot="\Server\Share\Destination"
SET LOG=C:Path\Log.txt

:: --// Robocopy Options
:::: --// If you do not want a log file, remove the "/LOG+:%LOG%" below
SET OPT=/MOVE /IS /S /NP /R:5 /LOG+:%Log% /TS /FP
SET CMD=Robocopy "%SRCRoot%" "%DESTRoot%" *.* %OPT%
%CMD%
EXIT /B

Switches Robocoy Opcionais

(Se você precisar de algum destes, me avise e terei prazer em atualizar minha resposta se precisar de um exemplo incluindo qualquer)

/E       : Copy Subfolders, including Empty Subfolders.
/SEC     : Copy files with SECurity (equivalent to /COPY:DATS).
/DCOPY:T : Copy Directory Timestamps.
/COPYALL : Copy ALL file info (equivalent to /COPY:DATSOU)

Agendamento para automação autônoma

Consulte a minha resposta Tarefas agendadas para as opções, pegadinhas, etc. que você deseja selecionar ao agendar um script em lote com o Agendador de Tarefas para executar conforme o esperado. Capturas de tela e todas são fornecidas e sinta-se à vontade para revalorizar essa resposta se achar que é útil e digna como tal - sem pressionar apenas um recurso adicional que você pode achar útil.

Mais recursos e leitura

por 13.01.2016 / 07:11