Каждый раз, когда я получал новую машину или увеличивал объем памяти, я добавлял и добавлял все больше и больше жестких дисков к последней машине. Теперь у меня есть несколько дисков со старыми данными (например, установка Windows, файлы программ и т. д.), плюс я начал создавать символические ссылки на файлы и создавать соединения на этих жестких дисках с фактически используемыми данными, чтобы снять часть нагрузки с моего основного SSD-диска с файлами, которые используются нечасто ("C:\ProgramData\Package Cache")
Некоторые программы на этих старых дисках могут даже использоваться, например, версии без установки, которые я часто запускаю по ссылке на рабочем столе, не помня, где они на самом деле находятся, и которые я, вероятно, не хочу удалять.
Один из подходов — переименовать все каталоги и продолжать использовать машину в течение нескольких месяцев, чтобы посмотреть, где я наткнусь на неработающие ссылки, указывающие на проблемные диски, но это потребует значительных усилий, пока я не найду некоторые (возможно, даже не все) местоположения.
Теперь я ищу более агрессивный подход. Я создал скрипт поиска в реестре (https://gist.github.com/Seikilos/ab23cf6b85e1d65936a5) что позволяет мне искать что угодно во всех ульях. Я сделал это, чтобы найти ссылки на определенный старый диск, но никаких явно релевантных путей не было найдено (в основном в HKEY_LOCAL_MACHINE\SOFTWARE\Classes
). Что имеет смысл, так как я ничего не устанавливал на эти диски из текущей установки Windows.
Но, как написано выше, я знаю, что на этом диске есть соединения или, возможно, простые ссылки или какие-либо другие виды, которые я пока не обнаружил, и я ищу способ проверить каждую возможность использования данных на моей текущей установке.
Существует ли известный способ получения ссылок, например, чтение таблицы файлов и т. д. для поиска соединений или символических ссылок?
Обновление: @and31415 указал, что есть cmd для получения всех ссылок и соединений на уровне файловой системы. Однако, если у меня есть простая ссылка (заканчивающаяся на .lnk), команда dir
ее не показывает. Аргумент /AL вообще их игнорирует. Найти файлы .lnk несложно, но я хотел бы иметь возможность разрешать их автоматически.