请教下,CH32F103读取U盘已有的长文件名
  1. 读取U盘里面现有的长文件名,通过CH103FileOpen枚举文件夹内的文件,可以得到长文件名文件的短文件名,也可以使用该短文件名来操作这个文件,就是不知道如何得到这个长文件名文件的长文件名?

  2. 如果有目录下有TESTLONG-F.TXT, TESTLONG-W.TXT, TESTLONG-L.TXT多个前缀一样的长文件名文件,可以使用"/TESTLO*"来通配找到这几个文件,短文件名为“TESTLO~1.TXT”,"TESTLO~2.TXT”,"TESTLO~3.TXT”,那么如何区分哪个对哪个?



1.长文件名位于目录项的对应短文件明前位置如图所示:

182942ckcwdg22nzkv27y2.png.thumb.jpg

可通过读取扇区的操作分析出短文件名对应的长文件名位置,读出对应的长文件名;
2.当创建一个长文件名文件时,系统会自动加上对应的短文件名,其一般有的原则:
(1)、取长文件名的前 6 个字符加上"~1"形成短文件名,扩展名不变。
(2)、如果已存在这个文件名,则符号"~"后的数字递增,直到 5。
(3)、如果文件名中"~"后面的数字达到 5,则短文件名只使用长文件名的前两个字母。通过数学操纵长文
件名的剩余字母生成短文件名的后四个字母,然后加后缀"~1"直到最后(如果有必要,或是其他数字以避免重复
的文件名)。
(4)、如果存在老 OS 或程序无法读取的字符,换以"_


只有登录才能回复,可以选择微信账号登录