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
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:
meu script acima resultaria na seguinte pasta de destino:
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?
Tags powershell robocopy archiving