Esse é o tipo de situação em que ter uma estratégia de backup bem planejada e mantida realmente vale a pena. Se esse for o caso da sua empresa, use-o.
O que você fez é uma maneira ruim de economizar espaço. Considere o seguinte caso de uso:
- O usuário copia arquivos do compartilhamento do Deptx em preparação para trabalhar neles
- Você lança suas cópias e cria links simbólicos para as origens
- Ela modifica os originais que ainda eram exigidos por outros para o trabalho deles
- ...
Se você tem pouco armazenamento, é melhor redigir um plano de negócios para a compra de armazenamento adicional. Idealmente, uma solução que ofereça suporte à desduplicação em nível de bloco. Se o seu aparelho existente oferecer desduplicação, você poderá ter enviado uma solicitação de alteração para aprovação para implementá-lo, mas esse tempo é passado.
Uma nota para o futuro. Como administrador de armazenamento, você precisa informar os negócios quando for a hora de expandir o armazenamento, que geralmente é quando está quase pela metade. Quando está 70% cheio, você pode começar a puxar o alarme de incêndio diariamente até que ele determine o orçamento. Se isso não acontecer, é hora de informá-los em uma reunião muito franca que eles estão arriscando o negócio. Os dados são o núcleo dos negócios modernos.
Você pode identificar todos os links simbólicos com:
C:\Users\user>dir /AL /S C:\ | find "SYMLINK"
07/14/2009 01:08 AM <SYMLINKD> All Users [C:\ProgramData]
# Only one result in on my Windows 7 host, and it's a system default.
# There are likely more in Windows Server OSs.
# Cmd Explained:
# /AL A Lists file with attribute:L (Symlinks and dir junctions)
# /S Do recursively
# C:\ Drive to scan
'All Users' é o link simbólico 'C: \ Users \ All Users', que segmenta 'C: \ ProgramData'. Note que a saída do comando acima não fornece o caminho completo para o symlink, o que você precisa.
< < < STOP > > > Se o número de links simbólicos for menor que mil, pode valer a pena considerar substituí-los manualmente por seus arquivos de destino.
Você pode usar o NTFSLinksView. Parece ser capaz de exportar dados que incluem o destino completo e os caminhos de links simbólicos. link
Depois de ter esses valores, você pode percorrê-los com esse pouco de Powershell. Modifique o delimitador para qualquer que seja o resultado do programa. O exemplo define espaços como o delimitador. Se usar vírgulas, use: ','. Certifique-se de que o cvs tenha apenas os dados Link e Target. Nessa ordem.
Nota: isso não preserva links simbólicos padrão ...
Import-CVS -Delim ' ' -Path input.cvs -Header Link,Target | ForEach-Object {
cmd /c rmdir $Link
Copy-Item $Target $Link
}
AVISO: Isso não foi testado e tem potencial para causar ainda mais danos ... Use por sua conta e risco. Se não houver backups anteriores e você tiver chegado a esse resultado, faça um backup antes de continuar.