Verificando para onde um link simbólico aponta no Windows 7

20

No Windows 7, como posso verificar se um arquivo é um link simbólico ou não, se uma pasta é uma junção ou não, e como posso verificar para onde estão apontando (no caso de serem symlink / junction). Tanto no Explorer quanto na linha de comando.

É muito importante ter uma maneira de fazer isso a partir da linha de comando, a fim de saber como duplicar links simbólicos em outro computador quando você quiser fazer uma réplica exata de uma árvore de pastas.

Se eu clicar com o botão direito do mouse em um arquivo e marcar "Propriedades", não consigo encontrar nenhuma indicação de que seja um link simbólico.

    
por BearCode 22.11.2012 / 08:56

4 respostas

15

O comando dir pode fazer isso:

2012-12-26  09:30 PM    <DIR>          .
2012-12-26  09:30 PM    <DIR>          ..
2012-12-26  09:30 PM                 0 a.txt
2012-12-26  09:30 PM    <SYMLINK>      link.txt [a.txt]

Como alternativa, você pode usar o Windows Explorer:

Right click column, More, Link Target
    
por 27.12.2012 / 04:33
4

Copiado de StackOverFlow , eu usei esta linha e funciona

fsutil reparsepoint query "folder name" | find "Symbolic Link" >nul && echo symbolic link found || echo No symbolic link

Explicação :

De MSDN sobre o FSUtil: Executa tarefas relacionadas à tabela de alocação de arquivos (FAT) e aos sistemas de arquivos NTFS, como o gerenciamento de pontos de nova análise, o gerenciamento de arquivos esparsos ou a desmontagem de um volume. Se for usado sem parâmetros, o fsutil exibirá uma lista de subcomandos suportados.

Para nosso uso, nós apenas nos preocupamos que ele produza uma linha que tenha "Link simbólico", se for simbólico, o qual então find , e se find for bem-sucedido, produziremos uma coisa, se não nós produzimos outra coisa.

Notas :

  • As aspas em torno do nome da pasta são necessárias se o caminho tiver espaços.
  • Ele fornece a mesma saída, se a pasta não existir ou não for um link simbólico, use com cuidado.
por 20.12.2015 / 09:21
0

Aqui está um script bash do cygwin para salvar links simbólicos, adicione suas pastas favoritas à primeira linha

find c:/ C:/Users/$USERNAME/SendTo C:/Users/$USERNAME/Desktop \
      -maxdepth 2 -type l \
      -printf 'mklink\t/D\t"%p"\t"%l"\n' | \
  perl -pne '\
      s!/cygdrive/(\w)/!:/!g;\
      s,/a/,/%USERNAME%/,g;\
      1;' | \
  sort -f | uniq  > restore-links.cmd
    
por 01.10.2016 / 05:37
0

Em Powershell:

dir | select Name, LinkType
    
por 08.06.2018 / 23:03