按照我的问题在超级用户这里和在 StackOverFlow 上。
我注意到了Windows 8.3路径仅适用于本地路径,如:,C:\Program Files
而不适用于网络路径,如:(\\MyNetworkPAth\Shared folder\MyFooFolder
它返回相同的路径)。
例如,C:\Program Files
使用 .NET 代码解码 Windows 8.3 路径:
public static extern int GetShortPathName([MarshalAs(UnmanagedType.LPTStr)] string path, [MarshalAs(UnmanagedType.LPTStr)] StringBuilder shortPath, int shortPathLength);
StringBuilder shortPath = new StringBuilder(248);
GetShortPathName("C:\Program Files", shortPath, shortPath.Capacity);
string destinationPath = shortPath.ToString(); --> "C:\PROGRA~1"
网络路径:
StringBuilder shortPath = new StringBuilder(248);
GetShortPathName("\\MyNetworkPAth\Shared folder\MyFooFolder", shortPath, shortPath.Capacity);
string destinationPath = shortPath.ToString(); --> "\\MyNetworkPAth\Shared folder\MyFooFolder"
是否可以将 Windows 8.3 路径应用于网络路径?
答案1
在文件系统上应用名称的能力8dot3
取决于以下主题:
- 特定路径应与卷相关。只有当特定路径“位于”卷上时,才能配置此卷以支持名称
8dot3
。 - 特定路径应该与配置为支持名称的卷相关
8dot3
。
要更深入地了解其工作原理以及如何配置卷以支持 8dot3
名称,请参阅fsutil 8dot3name
命令描述。
要列出系统上的所有卷,请使用以下diskpart
命令:
- ⊞ Win+R
diskpart
Enterlist volume
Enter
显示的卷列表可以帮助了解特定路径是否可以转换为格式8dot3
。
其他参考资料: 命名卷