Como posso encontrar todos os links simbólicos no Windows Vista ou 7?

10

Estou procurando uma maneira de procurar todos os links simbólicos em um sistema de arquivos NTFS no Windows Vista ou 7.

Seria ainda melhor se eu pudesse especificar um destino específico para ver se ele tem links simbólicos apontando para ele, mas uma maneira de procurá-los todos também seria ótima.

wojo
fonte

Respostas:

15

Aqui está a melhor maneira que encontrei até agora:

dir /a:l /s

Mas é feio. Eu preferiria uma lista que mostrasse um arquivo por linha no formato target => source ou algo semelhante. O Grepping para SYMLINK não funciona bem por causa do formato de várias linhas. A opção / B bare não fornece nada além do nome do arquivo de destino também.

Observe que o grep é uma ferramenta de múltiplas linhas. Você pode usar -an para pegar as n linhas anteriores e as seguintes e -An para pegar as próximas n linhas. Por exemplo, grep -A10 configure pegaria as próximas dez linhas depois de encontrar a palavra "configure". Se você tivesse duas instâncias da palavra para configurar três linhas de distância, acabaria pegando 14 linhas no total.

wojo
fonte
5

Como a pesquisa Tudo foi reescrita (janeiro de 2013), agora você pode procurar atributos. Uma consulta " attrib: L " revelará todos os Links Simbólicos de vários tipos no seu computador. Mostrar coluna Atributos (Ctrl + Shift + 8) para classificar por atributo.

Você também pode criar um filtro para essa pesquisa de atributo específico (pesquisa, adicionar a filtros) se fizer esse tipo de pesquisa com frequência ou desejar atribuir um atalho de teclado.

Percebi o atributo inicial : a pesquisa pareceu bloquear tudo temporariamente, mas terminou depois de alguns segundos ... vale a pequena espera por uma ferramenta tão poderosa.

BJordan
fonte
2

Experimente o SageLinks - um pequeno utilitário de código-fonte gratuito para Windows, ele pode encontrar e verificar novamente todos os links simbólicos, além de junções e atalhos:

Captura de tela do SageLinks

Nikolay Raspopov
fonte
Você pode adicionar algumas informações sobre o link, em vez de apenas uma imagem? Custo, como você o encontrou, você é afiliado a ele, etc.?
Canadian Luke
Este é um link para a página do GitHub com utilitário de código-fonte gratuito, que encontra (e verifica a validade) todos os links simbólicos no Windows XP ou posterior, conforme solicitado nesta pergunta.
Nikolay Raspopov
Impressionante, você pode editar para adicionar isso à sua resposta? Ele ajuda os futuros visitantes sei se é uma boa resposta mais rápida
canadense Luke
Bom e rápido. Mas links físicos de NTFS como c: / a // b funcionam bem no win7; enquanto sagelink os sinaliza como inválidos. O Win7 permite barras, barras invertidas e barras extras.
Mosh
Não permitido. Descreva como você criou esses links?
Nikolay Raspopov 28/03/19
2

Você pode experimentar a ferramenta gratuita Junction by SysInternals

Para pesquisar todos os links simbólicos em uma unidade, vá para a raiz e digite:

C:\> junction -s -q

-s passa por todos os subdiretórios

-q ignora erros como "Acesso negado".

Isso fornecerá todos os pontos de nova análise que o Windows está usando no momento.

Se você quiser determinar se um arquivo ou pasta específico é um ponto de nova análise, basta digitar o nome do utilitário e o nome do arquivo / pasta depois. Cuidado com os nomes das pastas, pois a adição de uma barra invertida pode alterar os resultados.

C:\> junction c:\apps

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\apps: JUNCTION
   Substitute Name: e:\dropbox\apps

C:\>
Sol
fonte
0

Para todas as pesquisas de arquivos nos sistemas Windows, sugiro usar Tudo . É ultra rápido e muito leve.


fonte
Tudo é limpo, mas não parece ser capaz de filtrar por pontos do Windows junção, links simbólicos, etc.
Wojo
0

Eu também estava procurando por esse recurso e não o vi em outro lugar. Adicionei-o às minhas bibliotecas do Windows para Python. Infelizmente, se você ainda não é um programador ávido de Python, você tem algumas etapas para instalar tudo.

  1. Faça o download do Python 2.6.4 e instale-o.
  2. Faça o download de distribut-setup (parte de distribut ) ou ez_setup (parte de setuptools ) e execute o script. Isso instala um dos dois gerenciadores de pacotes para Python que meu pacote exige para executar.
  3. Use easy_install para instalar o pacote jaraco.windows e suas dependências. No prompt de comando:

x

\Python26\scripts\easy_install jaraco.windows

Depois de seguir estas etapas, você deverá ter um script chamado \ python26 \ scripts \ find-symlinks.exe ou \ python26 \ scripts \ find-symlinks-script.py, que poderá ser executado com um nome de caminho opcional para pesquisar links simbólicos. Ele pesquisará os links simbólicos e informará os resultados, uma linha cada. Testei este procedimento em uma instalação limpa do Windows 7.

> cmd /c mklink /d mylink \windows 
symbolic link created for mylink <<===>> \windows
> cmd /c mklink myfilelink \windows\notepad.exe
symbolic link created for myfilelink <<===>> \windows\notepad.exe

> \python26\scripts\find-symlinks
D .\mylink --> \windows
  .\myfilelink --> \windows\notepad.exe
Jason R. Coombs
fonte
0

Script Cygwin / bash para win7

c:\> cat find-dead-links.sh
#!/usr/bin/bash
find . -maxdepth 3 -type l -print0 |
while IFS=   read -r -d $'\0' file ;do
  [[ -e "$file" ]] && continue
  echo "Bad link $file"
done 
mosh
fonte