如何在包含文件

时间:2016-08-25 17:49:24

标签: linux windows filesystems filenames

我已经陷入困境 - 我的旧版dBase表包含8.3个文件名,这些文件名显然与文件一起保存在旧的msdos / windows系统上。

我现在拥有的只是文件和dBase(DBF文件) - 但是在db中的行与实际文件之间连接的链接是8.3格式。文件和dBase文件已从旧的Windows机器复制到linux机器。

例如,db将有一行包含:

{“fileid”:1,“dosname”:“APPLE~1.JPG”}, {“fileid”:2,“dosname”:“APPLE~2.JPG”}

和我可能有的文件目录中的某个地方 “appletree.JPG” 和 “apple computer.JPG”。

我怎么知道哪个是哪个?是否有某种逻辑我可以遵循(比如字母数字排序,告诉哪个是〜1,哪个是〜2?)

1 个答案:

答案 0 :(得分:0)

假设我们实际上是在讨论由某些 Windows 创建的8.3文件名...它并不太难。

微软有一个很好的规范,准确地解释了那些"更长的"文件名映射到8.3"符号"。

请参阅here

所以你可以坐下来;你应该能够提出一个映射工具,它可以映射"长文件名"到他们的DB行8.3表兄弟。

编辑:正如所指出的,上面的链接只是一个描述,但不是所需映射的精确算法 - 但也许this算法可以帮到你!