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

10

Estou procurando uma maneira de pesquisar 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 algum link simbólico apontando para ele, mas uma maneira de pesquisar todos seria ótimo também.

    
por wojo 08.10.2009 / 17:45

7 respostas

15

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

dir /a:l /s

Mas é feio. Eu preferiria uma listagem que mostrasse um arquivo por linha no formato de target = > fonte ou algo similar. Grepping para SYMLINK não faz bem por causa do formato multi-line. A opção / B nua também não fornece nada além do nome do arquivo de destino.

Note que o grep é uma ferramenta multilinha. Você pode usar -an para pegar as linhas n anteriores e seguintes e -An para apenas 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 2 instâncias da palavra configurando 3 linhas separadas, você acabaria pegando 14 linhas no total.

    
por 08.10.2009 / 17:50
5

Como a pesquisa Tudo foi reescrita (janeiro de 2013), agora você pode pesquisar atributos. Uma consulta de " attrib: L " revelará todos os Links simbólicos de vários tipos no seu computador. Mostrar coluna de 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 quiser atribuir um atalho de teclado.

Eu notei que a pesquisa inicial attrib: pareceu travar tudo temporariamente, mas terminou após alguns segundos ... valendo a pequena espera por uma ferramenta tão poderosa.

    
por 15.08.2013 / 23:13
2

Experimente SageLinks - um pequeno utilitário freeware de código aberto para Windows, que pode encontrar e rever todos os links simbólicos como bem como junções e atalhos:

    
por 26.09.2015 / 11:02
2

Você pode experimentar a ferramenta gratuita Junction by SysInternals

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

C:\> junction -s -q

-s passa por todos os subdiretórios

-q ignora erros como "Acesso negado".

Isso lhe dará todos os pontos de nova análise que o Windows está usando atualmente.

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. Tenha 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:\>
    
por 13.02.2017 / 16:54
0

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

    
por 08.10.2009 / 17:58
0

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

  1. Faça o download do Python 2.6.4 e instale-o.
  2. Faça o download da distribuição-configuração (parte de distribua ) ou ez_setup (parte de setuptools ) e execute o script. Isso instala um dos dois gerenciadores de pacotes para Python que meu pacote requer para ser executado.
  3. Use o 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ê deve ter um script chamado \ python26 \ scripts \ find-symlinks.exe ou \ python26 \ scripts \ find-symlinks-script.py que pode ser executado com um nome de caminho opcional para pesquisar links simbólicos. Ele procurará os links simbólicos e reportará os resultados, uma linha cada. Eu 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
    
por 15.11.2009 / 12:36
0

Script Cygwin / bash para o win7

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