robocopy / mir não duplicando a estrutura de pastas

0

Estou usando o seguinte script para arquivar tudo antes do Jaunary 1 de 2013:

foreach  ($i in Get-ChildItem "O:\Projects” -Force -Recurse)
{
    if ($i.LastWriteTime -gt ($(Get-Date).AddDays(-649)))
    {
          robocopy $i.FullName "A:\Operations\Projects" /Z /S /MOVE /MIR
    }
}

o problema é que o script não está copiando a árvore de diretórios exata. é apenas copiar a pasta que contém um arquivo pertinente para a raiz do diretório de destino.

Como exemplo, isso representaria nossa estrutura de pastas:

  • Projeto A
    • Quote
      • QuoteA.pdf (última modificação em 6/2011)
    • encerramento
      • CloseoutA.pdf (última modificação em 11/2011)
  • Projeto B
    • Quote
      • QuoteB.pdf (última modificação 10/2012)
    • encerramento
      • CloseoutB.pdf (última modificação 4/2013)

meu script acima resultaria na seguinte pasta de destino:

  • Quote
    • QuoteA.pdf
    • QuoteB.pdf
  • encerramento
    • CloseoutA.pdf

o exemplo acima é extremamente básico. Alguns dos arquivos têm 8 ou 9 pastas. Existem quase 30.000 pastas no diretório de origem. Eu preciso do caminho completo do arquivo aplicável para permanecer intacto no movimento, como posso conseguir isso?

    
por jchap1590 11.10.2014 / 08:17

1 resposta

0

Edite nos comentários abaixo:

Você pode tentar deixar o robocopy decidir se um arquivo em uma árvore precisa ser movido e evitar o uso de Get-Childitem:

robocopy "O:\Projects" "A:\Operations\Projects" /Z /S /MOVE /MIR /MINAGE:649
    
por 14.10.2014 / 16:25