Ver uma lista de links simbólicos no sistema?

56

Existe uma maneira de ver uma lista de todos os links simbólicos ativos em uma máquina Windows?

Louis
fonte

Respostas:

93

Tente o seguinte comando:

dir /AL /S C:\
  • /Aexibe todos os arquivos com um atributo específico e Lespecifica pontos de nova análise (links simbólicos e junções de diretório)
  • /S torna o comando recursivo
  • substitua C:\pela letra da unidade que deseja digitalizar ou por um caminho, se não desejar digitalizar uma unidade inteira
Indrek
fonte
2
Existe uma maneira de fazê-lo não recuar em links simbólicos / junções para que não fique preso em um loop infinito?
BrainSlugs83
15

No PowerShell

Dir C:\ -Force -Recurse -ErrorAction 'silentlycontinue' | 
  Where { $_.Attributes -match "ReparsePoint"}
  • -Force inclui arquivos ocultos e do sistema
  • -Recurse obtém todos os itens filhos
  • -ErrorAction 'silentlycontinue'suprime O acesso ao caminho XYZ é negado por erros
  • Where { $_.Attributes -match "ReparsePoint"}verifica pastas e arquivos se for uma junção

Explicação dos atributos do Modo :

  • d - Diretório
  • a - Arquivo
  • r - Somente leitura
  • h - Oculto
  • s - Sistema
  • l - Ponto de nova análise, link simbólico etc.
nixda
fonte
Obrigado - isso pode ser realmente poderoso para scripts - existe uma propriedade que exibe para onde o link vai? - não parece ser exibido por padrão, mas se estiver lá, poderíamos criar um script contra isso e isso seria incrível.
BrainSlugs83
11
@ BrainSlugs83 Para obter o alvo de ReparsePoints programaticamente, leia esta resposta SO
nixda 4/14/14
5

Há também um programa útil para o chamado NTFSLinksView .

Editar: também há SageLinks , este também verifica a validade.

Colin Lamarre
fonte
1

Sei que esta resposta está atrasada, mas talvez haja algo mais próximo do que você provavelmente estava procurando:

dir /AL /S C:\ | find "SYMLINK"
c D
fonte
Obviamente, isso também mostrará arquivos e diretórios que possuem SYMLINKseu nome.
Scott