Eu examinei esta questão: Copie recursivamente um diretório inteiramente como links simbólicos, preservando os links simbólicos atuais e, se estiver lendo corretamente, quero fazer a mesma coisa, mas no Windows.
Então, eu tenho isso:
Dir1\Dir_A\File.ext
Dir1\Dir_A\Dir_A_A\file2.ext
Dir1\Dir_B\File2.ext
...
Eu quero que a estrutura do diretório seja exatamente a mesma no diretório de destino menos o Dir1, mas todos os arquivos sejam links simbólicos apontando para os arquivos de origem. Então, termino com isso:
Target_Dir\Dir_A\File.ext <- file is symlink, folders are created
Target_Dir\Dir_A\Dir_A_A\file2.ext <- file is symlink, folders are created
Target_Dir\Dir_B\File3.ext <- file is symlink, folders are created
...
Como posso conseguir isso? Também estou procurando um script em lote ou algo que possa ser executado em um cronograma para copiar os novos arquivos de vez em quando, ignorando os links simbólicos já criados, como um trabalho de sincronização menos a cópia real dos arquivos, mas em vez de (sym)linking eles.
PowerShell: cópia de pasta recursiva com arquivos de link simbólico
Você pode usar get-childitem para criar uma variável de matriz e fazer um loop sobre as propriedades iteradas do objeto com alguma lógica if condicional para ajudar a criar uma solução viável para suas necessidades.
Você só precisa definir o
$src
valor para apontar para o local da pasta raiz de origem e o$dest
valor para apontar para o local da pasta raiz de destino - a outra lógica fará todo o resto.Recursos de suporte
Get-ChildItem
Matrizes
ParaCada-objeto
Se
Test-Path
Caminho Dividido
Get-Item
Parâmetros Comuns
ErrorAction
Novo item