找到对某个硬盘的所有引用

找到对某个硬盘的所有引用

每次我买了一台新机器或增加了内存容量,我都会给最新的机器添加越来越多的硬盘。现在我有几个磁盘,里面有旧数据(例如 Windows 安装、程序文件等),而且我开始对文件进行符号链接,并在这些硬盘上创建与实际使用的数据的连接,以从我的主 SSD 磁盘上移除一些不经常使用的文件负载(“C:\ProgramData\Package Cache”)

那些旧磁盘上的某些程序甚至可能会被使用,例如免安装版本,我经常通过桌面上的链接使用这些程序,而记不住它的实际位置,而且我可能不想删除它。

一种方法是重命名所有目录并继续使用机器几个月,以查看我在哪里偶然发现指向有问题的驱动器的死链接,但这需要大量的周转,直到我找到一些(可能甚至不是全部)位置。

现在我正在寻找一种更积极的方法。我创建了一个注册表搜索脚本(https://gist.github.com/Seikilos/ab23cf6b85e1d65936a5),它允许我搜索所有配置单元中的任何内容。我这样做是为了找到对某个旧驱动器的引用,但没有找到明显相关的路径(主要是在HKEY_LOCAL_MACHINE\SOFTWARE\Classes)。这是有道理的,因为我没有从当前的 Windows 安装中在这些驱动器上安装任何东西。

但正如上面所写的,我知道这个驱动器上有连接点或可能是简单的链接或任何其他视图我还没有检测到,我正在寻找一种方法来检查在我当前安装上使用数据的每一种可能性。

是否有已知的方法来获取引用,例如读取文件表等来定位连接点或符号链接?

更新:@and31415 指出,有一个 cmd 可以获取所有文件系统级链接和连接点。但是,如果我有一个简单的链接(以 .lnk 结尾),该dir命令不会显示它。参数 /AL 完全忽略它们。查找 .lnk 文件并不难,但我希望能够自动解析它们。

相关内容