【挖坟】windows短文件名

今折腾配置文件发现类似进程名:123456~1.exe,印象中见过类似进程名,多方求证终于有了点眉目:启动着以短文件名启动进程的时候该进程就显示为123456~1.exe,如此问题就转向了短文件名。

为什么实用短文件名?什么时候时候使用短文件名呢?

在FAT16文件系统中,由于FDT中的文件目录登记项只为文件名保留了8个字节,为扩展名保留了3个字节,所以DOS和Windows的用户为文件起名字时要受到8.3格式的限制。但是,从Windows95开始,这种限制被打破了,在Windows9x中可以实现长文件名,所以短文件名应该是老古董了,据周边同事回忆xp早期版本以后应该就没有了这种短文件名。

Windows 按以下方式从长文件名生成短文件名:
Windows 将文件名截断为 6 个字符,并在后边附加一个波形符 (~) 和一个数字。例如,创建的每个以”~1″结尾的唯一文件名。复制文件名以”~2″、”~3″等结尾。生成短文件名Windows 将文件扩展名截断为 3 个字符或更短。生成短文件名Windows 将文件名及扩展名中的所有字符转为大写。
【注意】  如果文件夹或文件名包含空格但少于 8 个字符,则 Windows 仍会创建短文件名。当通过网络访问此类文件或文件夹时,这种情况可能会引起问
题。要解决这个问题,请用有效字符代替空格,例如下划线 (_)。

Windows 删除文件名中的任何无效字符和空格。无效字符包括:. ” / \ [ ] : ; = ,
短文件名只能包含一个英文句点 (.),因此,Windows 将删除文件名中的其他英文句点,如果结尾是句点或无效字符,Windows 将忽略最后一个英文句点,而使用倒数第二个英文句点。例如,Windows 从长文件名生成短文件名
This is a really long filename.123.456.789.txt
Thisis~1.txt
This is a really long filename.123.456.789.
Thisis~1.789

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注