找到了这个并且可以理解
示例:Windows 8.3文件名扩展“c:\ program files”是 - 来自“C:\ PROGRA~1”
我试图导航到两条路径并且它们都工作了
任何人都可以说清楚
答案 0 :(得分:1)
这是Windows 95时代的延续,它将文件系统FAT改为FAT32,它启用了长文件名,并且是系统本身卖点的一部分。
当时,还有旧的DOS软件包,旧的Win 3.1软件包,依赖于旧的文件名约定8.3,即8个字符,带有3个字符的扩展名。
Windows 95集成了API,可以在两个方向自动转换,同时保持与现有FAT系统的兼容性,即使在使用转换FAT实用程序之后也是如此。这是为了确保在旧文件的上下文中没有发生文件破坏。
该API至今仍然可用。
GetShortPathName
返回短8.3,缩写形式为~
。GetLongPathName
以8.3文件名作为参数,返回长文件名。答案 1 :(得分:1)
在这些日子里,MS-DOG使用的FAT文件系统仅支持八个字符文件名。
当MS切换到使用较长名称的FAT32文件系统时(以及之后的NTFS,这会产生迁移问题。旧系统只支持8 + 3文件名,可以通过网络访问FAT32磁盘将是仅使用8 + 3文件名的旧软件。
MS提出的解决方案是创建使用〜和数字的短路径名称,以便为更长的文件名创建唯一的8 + 3别名。
如果您使用旧系统并访问网络磁盘(或者甚至在早期使用FAT32本地磁盘上的DOS命令):
c:\ program files
成了
C:\ PROGRA〜1
如果你有
c:\ program settings
可能会出现
C:\ PROGRA〜2
简而言之,这是一个用于创建唯一8 + 3文件名的系统,该文件名映射到更长的文件名,以便它们可以用于遗留系统和软件。