Zobacz listę dowiązań symbolicznych w systemie?

55

Czy istnieje sposób, aby wyświetlić listę wszystkich dowiązań symbolicznych aktywnych na komputerze z systemem Windows?

Louis
źródło

Odpowiedzi:

92

Spróbuj wykonać następujące polecenie:

dir /AL /S C:\
  • /Awyświetla wszystkie pliki z określonym atrybutem i Lokreśla punkty ponownej analizy (dowiązania symboliczne i połączenia katalogu)
  • /S sprawia, że ​​polecenie jest rekurencyjne
  • zastąp C:\literą dysku, który chcesz przeskanować, lub ścieżką, jeśli nie chcesz skanować całego dysku
Indrek
źródło
2
Czy istnieje sposób, aby nie przeklinał się w dowiązania symboliczne / skrzyżowania, aby nie utknął w nieskończonej pętli?
BrainSlugs83
15

W PowerShell

Dir C:\ -Force -Recurse -ErrorAction 'silentlycontinue' | 
  Where { $_.Attributes -match "ReparsePoint"}
  • -Force zawiera pliki ukryte i systemowe
  • -Recurse pobiera wszystkie elementy potomne
  • -ErrorAction 'silentlycontinue'pomija dostęp do ścieżki XYZ odmowa błędów
  • Where { $_.Attributes -match "ReparsePoint"}sprawdza foldery i pliki, jeśli jest to skrzyżowanie

Objaśnienie atrybutów trybu :

  • d - Katalog
  • a - Archiwum
  • r - tylko do odczytu
  • h - Ukryty
  • s - System
  • l - Punkt ponownej analizy, dowiązanie symboliczne itp.
nixda
źródło
Dzięki - to może być naprawdę przydatne do tworzenia skryptów - czy istnieje właściwość wyświetlająca miejsce, do którego prowadzi link? - domyślnie nie wyświetla się, ale jeśli tak, moglibyśmy napisać skrypt przeciwko niemu i byłoby świetnie.
BrainSlugs83
1
@ BrainSlugs83 Aby programowo uzyskać cel ReparsePoints, przeczytaj tę odpowiedź SO
nixda
1

Wiem, że ta odpowiedź jest spóźniona, ale być może jest to coś, czego prawdopodobnie szukałeś:

dir /AL /S C:\ | find "SYMLINK"
Płyta CD
źródło
Oczywiście pokaże to także pliki i katalogi, które mają SYMLINKw swojej nazwie.
Scott,