如何列出 NTFS 文件系统上的所有符号链接

Posted

技术标签:

【中文标题】如何列出 NTFS 文件系统上的所有符号链接【英文标题】:How to list all symbolic links on an NTFS filesystem 【发布时间】:2011-01-29 19:02:39 【问题描述】:

从 Windows Vista 开始,有一个新的 Win32-API 调用 CreateSymbolicLink 在 NTFS 文件系统上创建符号链接。

有谁知道是否有办法列出文件系统上所有现有的符号链接?

【问题讨论】:

【参考方案1】:

点击该文章中的链接,您将转到this one。引用:

判断指定目录是否 是挂载文件夹,先调用 GetFileAttributes 函数和检查 FILE_ATTRIBUTE_REPARSE_POINT 标志 在返回值中查看是否 目录具有关联的重新分析 观点。如果是,请使用 FindFirstFile 和 FindNextFile 获取重解析标签的函数 dwReserved0 的成员 WIN32_FIND_DATA 结构。到 确定重解析点是否为 挂载的文件夹(而不是其他一些 重解析点的形式),测试是否 标签值等于值 IO_REPARSE_TAG_MOUNT_POINT。更多 信息,请参阅重解析点。

【讨论】:

【参考方案2】:

窗口键 -> cmd -> dir /AL /S c:\

从评论中复制粘贴 -> http://windows7themes.net/how-to-find-all-symbolic-links-junction-points-in-windows-7.html

您当然可以放置任何其他驱动器标签而不是 c:\

【讨论】:

虽然这不是问题的答案,但它 与我碰巧在寻找的东西有关。油条! 我试过了——对我来说似乎是对这个问题的回答。驱动器上的所有符号链接都显示 ,所有连接点都显示 。因此,如果您只想要符号链接,请过滤结果... dir 如果您有递归重解析点,则会陷入无限循环(这是一件愚蠢的事情,因为它会绊倒大多数处理目录树的软件,但我的标准 W7 安装的 AppData 文件夹有它们默认)。 Tristan 推荐的 Nfts_Links_View 没有这个问题。【参考方案3】:

您也可以使用这个免费的 GUI 工具:

http://www.nirsoft.net/utils/ntfs_links_view.html

【讨论】:

以上是关于如何列出 NTFS 文件系统上的所有符号链接的主要内容,如果未能解决你的问题,请参考以下文章

链接 与 加载

NTFS 连接点和符号链接有啥区别?

获取符号链接目标的卷名的最佳方法 [NTFS]

特殊文件(上)

如何找到文件/文件夹(Windows 和 UNIX)的所有硬链接和符号链接?

linux中生成考核用的NTFS文件系统结构样例