A. 如何修改文件名长度限制
FAT32的一个重要的特点是完全支持长文件名。长文件名依然是记录在目录项中的。为了低版本的OS或程序能正确读取长文件名文件,系统自动为所有长文件名文件创建了一个对应的短文件名,使对应数据既可以用长文件名寻址,也可以用短文件名寻址。不支持长文件名的OS或程序会忽略它认为不合法的长文件名字段,而支持长文件名的OS或程序则会以长文件名为显式项来记录和编辑,并隐藏起短文件名。 当创建一个长文件名文件时,系统会自动加上对应的短文件名,其一般有的原则: (1)、取长文件名的前6个字符加上"~1"形成短文件名,扩展名不变。 (2)、如果已存在这个文件名,则符号"~"后的数字递增,直到5。 (3)、如果文件名中"~"后面的数字达到5,则短文件名只使用长文件名的前两个字母。通过数学操纵长文件名的剩余字母生成短文件名的后四个字母,然后加后缀"~1"直到最后(如果有必要,或是其他数字以避免重复的文件名)。 (4)、如果存在老OS或程序无法读取的字符,换以"_"
长文件名的实现有赖于目录项偏移为0xB的属性字节,当此字节的属性为:只读、隐藏、系统、卷标,即其值为0FH时,DOS和WIN32会认为其不合法而忽略其存在。这正是长文件名存在的依据。将目录项的0xB置为0F,其他就任由系统定义了,Windows9x或Windows 2000、XP通常支持不超过255个字符的长文件名。系统将长文件名以13个字符为单位进行切割,每一组占据一个目录项。所以可能一个文件需要多个目录项,这时长文件名的各个目录项按倒序排列在目录表中,以防与其他文件名混淆。 长文件名中的字符采用unicode形式编码(一个巨大的进步哦),每个字符占据2字节的空间。其目录项定义如表15。
表15 FAT32长文件目录项32个字节的表示定义字节偏移(16进制)字节数定义0x01属性字节位意义7保留未用61表示长文件最后一个目录项5保留未用4顺序号数值32100×1~0xA10长文件名unicode码①0xB1长文件名目录项标志,取值0FH0xC1系统保留0xD1校验值(根据短文件名计算得出)0xE~0x1912长文件名unicode码②0x1A~0x1B2文件起始簇号(目前常置0)0x1C~0x1F4长文件名unicode码③
系统在存储长文件名时,总是先按倒序填充长文件名目录项,然后紧跟其对应的短文件名。从表15可以看出,长文件名中并不存储对应文件的文件开始簇、文件大小、各种时间和日期属性。文件的这些属性还是存放在短文件名目录项中,一个长文件名总是和其相应的短文件名一一对应,短文件名没有了长文件名还可以读,但长文件名如果没有对应的短文件名,不管什么系统都将忽略其存在。所以短文件名是至关重要的。在不支持长文件名的环境中对短文件名中的文件名和扩展名字段作更改(包括删除,因为删除是对首字符改写E5H),都会使长文件名形同虚设。长文件名和短文件名之间的联系光靠他们之间的位置关系维系显然远远不够。其实,长文件名的0xD字节的校验和起很重要的作用,此校验和是用短文件名的11个字符通过一种运算方式来得到的。系统根据相应的算法来确定相应的长文件名和短文件名是否匹配。这个算法不太容易用公式说明,我们用一段c程序来加以说明。 假设文件名11个字符组成字符串shortname[],校验和用chknum表示。得到过程如下:
int i,j,chknum=0; for (i=11; i>0; i–) chksum = ((chksum & 1) ? 0x80 : 0) + (chksum >> 1) + shortname[j++];
如果通过短文件名计算出来的校验和与长文件名中的0xD偏移处数据不相等。系统无论如何都不会将它们配对的。 依据长文件名和短文件名对目录项的定义,加上对簇的编号和链接,FAT32上数据的读取便游刃有余了。
B. DOS高手进来,关于长文件名变短文件名规则
DOS下只能识别8位,如果文件名过长,就会自动把最后2位变为~1
C. 长文件名变为短文件名
这个啊是正常的,因为XP的格式就是8.3的不用改只只要你个人记得文件名就OK了
D. 文件名是汉字,如何转换成短文件名
对着文件名连续点击两下左键,不要太快,按del键,然后换上你的短文件行了。
E. 文件名太长
进PE也不行。PE也是Windows PE。拿一张Linux光盘或者能进入Linux的U盘,开机时不停地按F12直到进入”快速选择启动设备“列表,看到有CD-ROM或DVD-ROM就用方向键选择,按Enter键确定。进去后把文件名拷贝到浅路径(比如根目录、第一层文件夹)改短,然后就可以在你现在的系统中正常使用了。Linux光盘,推荐Ylmf OS。网络”Ylmf OS“就找到了,中文的,贴近国人使用习惯,免费的。
F. 文件名太长 删不了怎么办
可以用压缩工具,把那个文件压缩并选择自定义中的压缩后删除,清澈有效
G. 文件操作.之.怎么修改文件的短文件名
@echoofffor/f"delims="%%iin("%~1")doecho%%~nxsipause::将要显示短文件名的文件拖到这个bat上即可。
H. 计算机的问题怎么将一个长文件名转换成短文件名
在DOS里 先进入你所要改名的文件的上一级目录 在用 REN “要改名的文件名” “改之后的文件名”
I. 文件夹视图列表模式..文件名太长所以显示太宽。可以改短吗
文件名可以改短,另外可以把鼠标放在顶上名称后面的竖线处鼠标变成左右箭头性状时可以把文件名一栏向左拖短
J. win7文件名太长,无法删除或者重命名
1、打开WinRAR压缩软件,在地址栏中,输入要删除的文件,所在的文件夹路径,按回车,此时能在专文件列属表中,看到这次我们要删除的文件
未经允许不得转载:山九号 » 改短文件名|win7文件名太长无法删除或者重命名