我需要相当于ExpandUNCFilename函数的反转:给定网络计算机上的文件的UNC名称,我需要该文件的驱动器号相对文件名,因为它在本地网络计算机上是已知的。例如,如果我传入“\\ SVR1 \ SHARE1 \ Subdir \ File.nam”,并假设“SHARE1”映射到“SVR1”上的实际路径“C:\ ProgramData”,我会得到“C:\ ProgramData \ Subdir \ File.nam“返回。
(为什么我需要这个?因为Firebird要求其FDB文件名相对于运行服务器的机器进行本地化,但我需要其他东西的UNC名称 - 我更愿意存储并通过UNC在连接到服务器时名称和cvt到本地相对名称。)
这样的功能存在吗?我还没找到一个......
答案 0 :(得分:0)
除非您可以在存储文件的其他计算机上运行代码,否则无法执行此操作。另一台计算机甚至可以运行不同的操作系统,而不是Windows。
因此,您必须允许用户配置UNC路径和本地文件夹路径之间的映射。
或者编写一个在另一台计算机上运行的工具,并且可以查询映射。 (但这样的工具会带来安全风险)