https://blog.csdn.net/zfs2008zfs/article/details/51154873

1、短文件名的由来

windows下的文件短名是dos+fat12/fat16时代的产物,又称为8dot3命名法,类似于PROGRA~1(目录)或者元素周~1.exe(文件)这样的名称。

8是指文件名或目录名的主体部分小于等于8个字符 ;  3是指文件名或目录名的扩展部分小于等于3个字符 ;中间以 . 作为分割

在FAT16文件系统中,由于FDT中的文件目录登记项只为文件名保留了8个字节,为扩展名保留了3个字节,所以DOS和Windows的用户为文件起名字时要受到8.3格式的限制。

2、长文件名由来

NTFS文件系统支持unicode(UTF16)字符集文件名,最长达255个UTF16字符,因此NTFS文件系统以及基于unicode字符集的32位NT内核Windows操作系统本身都没有必要遵循16位DOS时代遗留的8.3格式短文件名规范。

3、兼容性问题

从win95开始,采用fat32已经支持长文件名,但是为了保持兼容性,保证低版本的程序能正确读取长文件名文件,每当创建新文件或新目录时,系统自动为所有长文件名文件创建了一个对应的短文件名。使这个文件既可以用长文件名寻址,也可以用短文件名寻址。
当创建一个长文件名时,长名目录项和对应的别名(短名)目录项的存储有以下6个处理原则:
·取长文件名的前6个字符加上“~1”形成长文件名的别名(即短文件名),并将长文件名中最后一部分(最后一个间隔符“.”后面字符)的前3个字符作为其扩展名。
·如果已存在这个名字的文件,则符号“~”后的数字会自动增加。
·任何包括小写字母的文件名都被看作是长文件名,而不管其长度是多少。如果有对于DOS和Windows3.x非法的字符,则用下划线替代。
·长文件名存储在属性标志为OFH的32字节目录登记项中(这是与短文件名目录项的区别)。用Unicode格式编码,每个字符(无论是英文或是汉字)均占2字节。
·每个目录登记项用26个字节存储13个字符(序号由第1字节指定)。位置多余时,先用00表示结束,再用FFH填充。
·长文件名用若干个长名目录项保存,长文件名目录项倒序排在文件短目录项前面。
采用以上的存储办法后,在Windows9x下创建的长文件名在DOS或Windows3.x下就只能看见其对应的短文件名,完全忽略了长文件名。在Windows9x下运行的应用程序通过操作系统请求文件名时,Windows9x会根据应用程序的性质分别给予不同的文件名,16位应用程序得到8.3格式的文件名,而32位应用程序得到长文件名。

win9x系统同样支持长文件名,同时强制生成一个短文件名。
在nt32+ntfs下面短文件名变为可选。

在xp和win7系统下,在命令行中与短文件名有关的一些命令:
fsutil behavior query disable8dot3    检查NTFS驱动是否开启8.3兼容特性

fsutil behavior set disable8dot3 1    关闭8.3兼容特性

fsutil behavior set disable8dot3 0    开启8.3兼容特性

fsutil file setshortname <longname> <8.3name>  手工指定一个8.3短名称

dir /x   列出当前目录的子目录和文件,以及相应的8.3兼容名称(如果有的话)

参考文章链接:

http://lcx.cc/?i=2644
http://my.oschina.net/u/566587/blog/298570
http://www.xuebuyuan.com/2208606.html

http://blog.csdn.net/zhangjinqing1234/article/details/7604541
--------------------- 
作者:antivice 
来源:CSDN 
原文:https://blog.csdn.net/zfs2008zfs/article/details/51154873 
版权声明:本文为博主原创文章,转载请附上博文链接!

windows系统下的文件长名和文件短名相关推荐

  1. Windows系统下上传到Linux指定文件夹

    一.准备环境 SecureCRT已成功连接虚拟机Linux系统. 二.打开"SFTP" 三.将Windows下文件直接拖入,有如下显示 四.进入Linux系统查看文件位置,并移动到 ...

  2. Windows系统下CMD命令行切换目录文件

    一.按部就班,让你彻底搞懂命令行切换目录文件 1.按 WIN+R 快捷键打开 运行,输入cmd,点击"确定" 或 按回车键打开命令行窗口.打开后如下: Microsoft Wind ...

  3. windows系统下如何删除带有两点的文件夹

    情况说明: 当文件夹末尾带点,或者带多个点的时候,删除文件夹会提示,文件夹不存在. 以下方式,以删除文件夹路径为 d:\osfipin\aaa.. 方式一: 执行以下命令行代码 md d:\osfip ...

  4. ubuntu系统下gedit 打开GBK字符集编码文件出现乱码问题解决办法

    使用 Gedit 打开 Windows 系统下编写的文本文件时,文件的中文全是乱码. 有些在Windows下能够打开的txt文件在Ubuntu下用gedit打开时,中文显示是乱码,这是因为编码方式不同 ...

  5. windows系统下批量修改文件后缀

    在Windows系统下批量修改文件后缀要用到 ren命令.在使用win10系统的朋友们肯定会发现系统会给自己推荐一些开机锁屏壁纸, 今天就用这个命令批量保存这些壁纸. 这些壁纸文件目录在: C:\Us ...

  6. php ttf 字体 url,window_TTF字体文件如何安装 TTF文件打不开解决方法,TTF文件是Windows系统下的字体文 - phpStudy...

    TTF字体文件如何安装 TTF文件打不开解决方法 TTF文件是Windows系统下的字体文件,可通过系统自带的字体安装程序直接安装添加字体,比如常用的"仿宋_GB2312"字体就可 ...

  7. python修改文件格式为unix_软件测试技术之如何用python在Windows系统下,生成UNIX格式文件...

    本文将带你了解软件测试技术之如何用python在Windows系统下,生成UNIX格式文件,希望对大家学测试技术有所帮助 如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中 ...

  8. Windows 系统下.sh文件的运行

    在论文期间好多的python项目是用Linux系统下写的,为了省事就尝试了再Windows系统下运行,以下是运行的过程:  1,Git的安装,下载Git并安装,我是在360软件管家中直接下载安装的,速 ...

  9. Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行——怎么将Unix/Mac系统下的文件转换到Windows系统下

    先交代一下遇到的问题: 本人用的是Windows系统.在学习Triangle Mesh时,想将bunny.ply等经典的PLY文件导入程序中. 但是,文件被读入程序后,所有的内容变成了一行.从而,现成 ...

  10. 用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解)

    用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解) 前言 原理 工具 步骤 延伸 博主联系方式 前言 本人喜欢收集各种优秀的视频,但是很多情况下我们看到的视 ...

最新文章

  1. 李德毅院士:探索新一代人工智能产业发展
  2. 第九章 硬件抽象层:HAL 心得笔记
  3. java 解析注解_Java知识点总结(注解-解析注解)
  4. 偏最小二乘法回归(Partial Least Squares Regression)
  5. BZOJ1720: [Usaco2006 Jan]Corral the Cows 奶牛围栏
  6. 计算机基础,你知道蓝屏的原因吗
  7. jsp网页上实现计算圆面积小程序
  8. srgan要训练多久_儿童内裤多久换一次,穿多久要扔掉?
  9. 用HTML+css制作一个简单的三级导航
  10. 服务器C盘内存不足,发现C盘TEMP文件夹占用44G
  11. 秒杀系统流量削峰这事应该怎么做?为什么要削峰呢?
  12. nvidia所有版本显卡驱动下载地址
  13. 我在首席数据官年会上的演讲实录
  14. [Win10] [C# Desktop] 两种方法发送原生Toast通知
  15. uniapp一键登录功能
  16. cs224u Overview of the Stanford Sentiment Treebank
  17. FTP手机和PC互传文件
  18. 嵌套交叉验证的一致特征(Consensus features nested cross-validation)
  19. Sigmoid 与 Softmax 的区别
  20. idea中启动vue项目

热门文章

  1. 因为计算机限制无法访问U盘,U盘拒绝访问怎么办解决教程
  2. c语言在内存存储结构,C语言中float,double类型,在内存中的结构(存储方式)
  3. FFplay文档解读-4-编解码器选项一
  4. 10款3D桌面推荐,很不错哦
  5. 查看往年CET46级成绩考试记录
  6. AI 编辑视频!这特效太逆天了!代码开源 SIGGRAPH Asia 2021
  7. python打砖块游戏算法设计分析_基于pygame的打砖块游戏,做到一半,不带做了
  8. 解密QQ图标升级计划
  9. 德国IT行业薪酬水平大揭秘 v1.0
  10. DeepCross(DCN)模型及torch实现