Посмотреть список символических ссылок в системе?

56

Есть ли способ увидеть список всех символических ссылок, которые активны на компьютере с Windows?

Луис
источник

Ответы:

93

Попробуйте следующую команду:

dir /AL /S C:\
  • /Aотображает все файлы с определенным атрибутом и Lуказывает точки повторного анализа (символические ссылки и соединения каталогов)
  • /S делает команду рекурсивной
  • замените C:\букву диска, который вы хотите сканировать, или путь, если вы не хотите сканировать весь диск
Индрек
источник
2
Есть ли способ заставить его не переходить в символические ссылки / соединения, чтобы он не застрял в бесконечном цикле?
BrainSlugs83
15

В PowerShell

Dir C:\ -Force -Recurse -ErrorAction 'silentlycontinue' | 
  Where { $_.Attributes -match "ReparsePoint"}
  • -Force включает в себя скрытые и системные файлы
  • -Recurse получает все дочерние элементы
  • -ErrorAction 'silentlycontinue'Подавляет доступ к пути XYZ отказано в ошибках
  • Where { $_.Attributes -match "ReparsePoint"}проверяет папки и файлы, если это соединение

Объяснение атрибутов Mode :

  • d - Справочник
  • а - Архив
  • r - только для чтения
  • h - скрытый
  • s - система
  • l - точка повторной обработки, символическая ссылка и т. д.
nixda
источник
Спасибо - это может быть очень полезно для сценариев - есть ли свойство, которое показывает, куда ведет ссылка? - он не отображается по умолчанию, но если бы он был там, мы могли бы написать скрипт против него, и это было бы здорово.
BrainSlugs83
1
@ BrainSlugs83 Чтобы получить цель ReparsePoints программно, прочитайте этот SO-ответ
nixda
5

Для этого есть удобная программа, которая называется NTFSLinksView .

Изменить: есть также SageLinks , этот также проверяет действительность.

Колин Ламарр
источник
1

Я знаю, что этот ответ опоздал, но вот, возможно, что-то ближе к тому, что вы, вероятно, искали:

dir /AL /S C:\ | find "SYMLINK"
компакт диск
источник
Конечно, это также покажет файлы и каталоги, которые имеют SYMLINKна их имя.
Скотт