Windows 7/NTFS 和更高版本同时具有符号链接和联结,它们有细微的不同。(请参阅这组出色的帖子)。出于记录(和调试)的目的,我需要能够解析远程文件服务器上的联结目标。有一些关于这个主题的帖子,但它们适用于解决本地机器看到的结点。
在\\FileServer
,我们有一个G:\Shared
共享出来的目录PublicShare
,所以它在网络上显示为\\FileServer\PublicShare
。该目录中有子目录G:\Shared\SubDir1
和G:\Shared\SubDir2
. 在该目录中还有一个G:\Shared\Junc
指向G:\Shared\SubDir1
或的联结G:\Shared\SubDir2
。(目标可以改变。)因此,在 上\\FileServer
,人们看到
\\FileServer\PublicShare\SubDir1
\\FileServer\PublicShare\SubDir2
\\FileServer\PublicShare\Junc
\\FileServer\PublicShare
在安装(以 Windows 术语映射)为的客户端计算机上M:\
,因此可以看到M:\SubDir1
、M:\SubDir2
、M:\Junc
。如果在该客户端计算机上打开控制台 ( cmd.exe
) 并执行dir M:\
,Windows 会给出一个很好的列表,其中显示这M:\Junc
是一个联结并包括该联结的目标G:\Shared\SubDirX
,。
M:\>dir
Volume in drive M is XXXXXXXXX
Volume Serial Number is XXXX-XXXX
Directory of M:\
09/05/2014 07:30 PM <DIR> .
09/05/2014 07:30 PM <DIR> ..
09/05/2014 01:36 PM <JUNCTION> Junc [G:\Shared\SubDir1]
09/06/2014 12:55 PM <DIR> SubDir1
09/05/2014 05:15 PM <DIR> SubDir2
0 File(s) 0 bytes
3 Dir(s) 1,895,493,492,736 bytes free
M:\>
因此,客户可以清楚地使用这种连接的目标。 有谁知道如何以编程方式获取这些信息,例如调用哪个系统 api??? 谢谢。