在电脑中备份和恢复文件的长文件名的方法

文档序号:6416249阅读:634来源:国知局
专利名称:在电脑中备份和恢复文件的长文件名的方法
技术领域
本发明涉及一种在电脑中备份和恢复文件的长文件名的方法,特别是涉及一种应用于个人电脑中,可以在不支援长文件名的环境下(如DOS环境),备份和恢复长文件名的方法。
在微软公司所发表的视窗95(Windows 95)及其后续的视窗电脑操作系统(Windows9x)中,对用户很有用的改进之一就是可以使用长文件名的功能,这使用户从文件名称只能使用8个字元加以命名的限制中解脱了出来。但是,在此之前的电脑操作系统(如Win31,DOS等)并不支援长文件名的文件,为了与DOS相容,视窗95操作系统将每个长文件名都生成一个相应的短文件名,以便在非视窗95(即是不支援长文件名的环境)中也可以通过短文件名而存取文件内容。但是即使视窗95本身挂附有DOS7.0版的操作系统,如果不启动视窗95仍然无法生成长文件名。所以在不支援长文件名的DOS环境下生成长文件名,在许多情况下是非常必要的,例如对电脑操作系统的备份和恢复。
而在实际使用电脑的过程中,难免遭遇到操作系统破坏的情形,而重新安装操作系统对于使用视窗95的用户而言,往往是一件复杂却又不得不去面对的过程,如果用户没有备份,就必需通过重新安装的方式重新安装置应用软件。微软所提供的备份程序只用于备份文件而不能备份系统,所以为了避免系统破坏后不便重新安装系统,对系统的备份与恢复是很必要的。当Windows9x在无法启动的情况下,而需要利用备份来恢复系统时,会遇到在DOS环境下无法生成长文件名的问题,若不恢复系统中的长文件名,则Windows9x又无法启动,因此,在非Windows9x(即是不支援长文件名的环境)的环境中生成长文件名就显得很必要了。
本发明的目的在于提供一种能够在不支援长文件名的电脑环境中备份和恢复长文件名的方法。
本发明的另一目的在于提供一种不受电脑操作系统所属的语系影响,仍能在不支援长文件名的环境中备份和恢复长文件名的方法。
本发明的又一目的在于提供一种对操作系统要求较低,仍可以在Windows完全不能启动的情况下,进行长文件名的备份和恢复的方法。
本发明的目的是这样实现的,其是通过调用电脑的基本输入输出系统(BIOS),自逻辑硬盘的分割区(Paratition)中取得文件目录表(FDT),再将文件目录表中的长文件名项与短文件名项,对应转储存一长文件名备份文件,而完成长文件名的备份操作;然后在不支援长文件名的环境中,以备份长文件名的逆过程先搜寻每一个目录中的短文件名,再将备份文件中相应的长文件名写回至原来的文件目录表(FDT)中,绕开了DOS不支援长文件名的限制,而实现了在不支援长文件名的环境下备份和恢复长文件名的目的。
根据本发明所揭露的方法,由于可以在视窗操作系统(Windows)完全不能启动的情况下进行长文件名的备份和恢复,即是与操作系统的语系版本无关,例如可以在简体中文Windows95中备份和恢复繁体Windows95中的长文件名文件,而不会产生文件名代码错误,至于其他的备份方法由于对Windows95本身的依赖,将无法解决文件名代码错误的问题。
下面结合附图,详细说明本发明的实施例,其中

图1为实现本发明的电脑硬件结构图;图2为磁盘分割区的数据结构图;图3为本发明备份长文件名的操作流程图;图4为本发明恢复长文件名的操作流程图;图5为本发明在某一目录下生成长文件名备份文件的操作流程图;图6为本发明利用长文件名备份文件在电脑中恢复长文件名的操作流程图;图7为本发明备份长文件名的主要步骤流程图;图8为图7中的局部流程图,显示在文件目录表(FDT)中搜寻并且生成长文件名备份文件的详细步骤;图9为本发明恢复长文件名的主要步骤流程图;图10为图7中的局部流程图,显示在文件目录表(FDT)中搜寻并且恢复长文件名的详细步骤;图11为根据本发明的方法在长文件名备份文件中寻找长文件名的详细步骤流程图;图12为根据本发明的方法将长文件名备份文件的内容写入文件目录表中的详细步骤流程图。
首先请参考图1,本发明所揭露在不支援长文件名的环境中备份和恢复长文件名的方法,是通过在下列的硬件结构中的进行而实现,这些硬件结构包括有一微处理单元10,用以执行本发明所揭露用以备份和恢复长文件名的操作程序;一基本输入输出系统20(BIOS,Basic Input/Output System);一硬盘30,用于储存电脑的操作系统、应用软件或文件等可供微处理单元10利用的数据;一输入单元40,如键盘、鼠标器、光笔或其他功能类似的设备,用以输入数据;一输出单元50,如屏幕、显示器、液晶显示屏,触控显示器或其他功能类似的设备,用以输出微处理单元10的处理结果;一随机存取存储器模组件60,用以寄存相关的处理数据;以及一电源供给装置70,用以供给前述各元件运作所需的电能。
根据本发明所揭露的方法,是通过下列两个阶段加以实现长文件名的备份和恢复,包括有1.备份长文件名成为一长文件名备份文件;以及2.利用长文件名备份文件进行备份的逆过程,而完成长文件名的恢复。
在进一步详细说明以上两个阶段的详细技术内容之前,先就实施本发明技术的过程中有关长文件名与短文件名的知识作一说明。·磁盘的数据存储格式磁盘(如硬式磁盘、软式磁盘)为电脑的周边设备之一,属于记录媒体的一种,用以存储操作系统、应用程序、数字数据、类比数据..等;不论是硬式磁盘或是软式磁盘在使用前都必须先经过“启始”,这个启始的过程就称为格式化(Formatting),目前在DOS和Windows环境下,磁盘的格式化方式可由微软公司提供的“Format”指令来进行,通过“Format”指令把磁盘分成许多个磁区(Sector),以及由磁区所合成的磁轨(Track);再分别对磁区与磁轨予以编号,并将与磁区、磁轨相关的数据写入预先建立的文件配置表(FAT,File Allocation Table)与文件目录表(FDT,File Directory Table)中。请参阅图2,为一磁盘分割区(Partition)的结构示意图,其中包括有一启动记录、第一文件配置表、第二文件配置表、文件目录区、以及数据记录区,而前述的文件目录区与数据记录区就是所谓文件目录表(FDT)的构成内容。其中文件目录区是由多个文件目录项(内含有短文件名目录项与相应的长文件名目录项)所组成,用以提供与储存于数据记录区内的数据相关的信息(如;文件名称、附加文件名、时间标示…等等)。
在前述的启动记录中还包括有一磁盘参数块(DPB,Disc ParameterBlock,以下简称为DPB),而此一DPB在FAT 16与FAT 32系统中的结构并不完全相同,其内容分别如[表一]以及[表二]所示。
而短文件名目录项与长文件名目录项在FDT中的配置如[表三]所示。·长文件名项与短文件名项的结构在视窗95(Windows95)中提供了一种利用8.3格式(短文件名格式)的目录项存储长文件名的方法。微软公司(Microsoft)称利用此方法的文件系统为虚拟文件分割表(VFAT.Virtual File Allocation Table)。根据此一文件系统存储的每一个长文件名都有一个对应的8.3格式别名。长文件名与短文件名被一同存储在一个文件目录表(FDT,File Directory Table,以下简称FDT),而每一个FDT则又包含了多个文件目录项(内含有短文件名目录项与相应的长文件名目录项),每一个长文件名目录项可以存储长文件名中的13个字元[长文件名是以通用码(UNICODE)形式存储,而每字元占2个比特(BYTE)],而为了区分FDT中的目录项是长文件名还是短文件名,Windows95将长文件名的目录属性比特设为“OF”,而“OF”属性在DOS下是非法的文件名,DOS无法对这种文件名进行存取,也不能进行更名或删除,所以这样的长文件名在DOS下就可以得到保护,而DOS则又可以通过其相应的短文件名在存取文件。
而有关长文件名目录项与短文件名目录项的格式请分别参考表四表五的内容。
下列所举的就是一个长文件名为RunOnceEx Log.txt,相应的短文件名为RUNONC~1.TXT的文件在电脑中的存储形式137004E0 42 2E 00 74 00 78 00 74-00 00 00 00 0F 00 D0 FF FFB..t.x.t…….137004f0 FF FF FF FF FF FF FF FF FF FF 00 00 FF FF FF FF……………..13700500 01 52 00 75 00 6E 00 4F-00 6E 00 0F 00 D0 6300.R.u.n.O.n….c.13700510 65 00 45 00 78 00 20 00-4c 00 00 00 6f 00 67 00 e.E.x..L…o.g.13700520 52 55 4E 4F 4E 43 7E 31-54 58 54 20 00 15 2B 6D RUNONE~1TXT..+m13700530 67 25 67 25 00 00 16 72-65 25 14 00 B3 45 00 00 g % g %…re%…E..
其中137004e0开始第32比特为长文件名结束项13700500开始第32比特为长文件名项13700520开始第32比特为短文件名目录项Windows还可以通过对短文件名求校验和再与长文件名中的校验和进行比较,来判断短文件名是否在非Windows9x的环境中被修改。
所以,根据本发明所揭露的技术,就只要将文件目录区中的长文件名目录项和相应的短文件名目录项一同备份成为一长文件名备份文件,便可以在将来根据欲恢复长文件名的磁盘目录中的短文件名,再于长文件名备份文件中取得相应的长文件名目录项,而进行长文件名的恢复操作。·生成长文件名备份文件的操作流程请参阅图3,本发明对长文件名进行备份的操作流程包括有1.根据分割表(Partition Table),查找硬盘30的分割区(Partition)的第一个扇区(即磁盘参数块,DPB,Disk Parameter Block);2.将分割区中的文件目录表(FDT)内含的长文件名项与短文件名项备份存储于当前的目录下,成为一长文件名备份文件;3.向下搜寻子目录的文件目录表(FDT);4.将子目录的文件目录表(FDT)内含的长文件名项与短文件名项备份存储于当前子目录的长文件名备份文件之中;以及5.判断是否还有子目录未完成备份?若为是,同返回至步骤4,若为否,则结束备份操作。
请参阅图5,在生成长文件名备份文件的过程中,由于在同一个FDT之中可能包括有多个非为长文件名格式的短文件名,如图中的短文件名1~短文件名3,就不会有相应的长文件名存在,而这些短文件名1~短文件名3的短文件名项在将来恢复长文件名的操作中,将没有任何的用处,因此本发明在把FDT内含的长文件名项和短文件名项一起存储而生成一长文件名备份文件之后,还会再将长文件名备份文件中不含有相应的长文件名项的短文件名予以去除,也就是去掉无用的短文件名信息。
继续请参阅图7,其为本发明备份长文件名的主要实施步骤流程图,其包括有1.开始执行备份;2.读取待备份的硬盘的磁盘参数块(DPB)的内容,取得文件系统的识别码(FSID,File System ID);3.判断FSID,若为FAT16,则继续下一步骤,若为FAT32,则跳至步骤6,若以上二者皆非,则跳至步骤9;4.计算启动记录表(BDT,Boot Directory Table)的位置;5.设BDT的大小(磁盘容量/磁簇);6.取得BDT的起始;7.计算BDT起始位置;8.搜寻所有的文件目录表FDT,并且在当前的搜寻目录下生成长文件名的备份文件;以及9.结束备份操作。
在图7的备份流程中,首先根据分割表(Partition Table)中欲备份的磁盘代码(如C\),查找其根目录的位置,就FAT16而言,为FAT后的第一个扇区,就FAT32而言,通常位于第二个磁簇,当然也可以从DPB中得到FAT32的根目录位置。取得根目录之后就可以对根目录以及所有子目录执行长文件名的备份操作。
前述的步骤8还包括下列步骤(请参阅图8)1.判断当前目录下的长文件名备份文件生成操作是否结束?若为是,则跳至步骤5,若为否,则继续下一步骤;2.读取一文件目录项并存入当前目录下的长文件名备份文件;3.判断这个文件目录项是否为长文件名结束项?若为是,则进行下一步骤,若为否,则返回至步骤1;4.备份并保存成一位于当前目录下的长文件名备份文件,然后返回至步骤1;
5.设起始文件目录项为当前目录;6.判断当前目录下的所有长文件名备份文件生成操作是否结束?若为是,则结束长文件名备份文件的生成操作,若为否,则继续下一步骤;7.读取一文件目录项并存入当前目录下的长文件名备份文件;8.判断这个文件目录项是否为子目录?若为是,则进行下一步骤,若为否,则返回至步骤6;以及9.递回处理下一个子目录,然后返回至步骤6。
在图8中所示的生成流程中,其中搜寻FDT并且备份保存长文件名(LFN,Long File Name)的方式,是采用两次搜寻的方法进行,第一次搜寻时,分析所有扇区并保存所有的长文件名项以及相应的短文件名项,而第二次搜寻时,则是分析所有的子目录,进行纵深搜寻,保存所有子目录中的所有长文件名项以及相应的短文件名项。
由于本发明采用递回的处理方式,经计算采用此种方式可以处理深度达40级的子目录。如果在递回时不保留当前目录的话,可以将递回深度增加到80级以上,不但适用于FAT16的文件系统,也适用于FAT32的文件系统。·恢复长文件名的操作流程请参阅图4,其为本发明根据长文件名备份文件恢复长文件名的操作流程,恢复的步骤基本上就是对长文件名进行备份操作的逆过程,其包括有1.根据分割表(Partition Table),查找硬盘30的分割区(Partition)的第一个扇区(即磁盘参数块,DPB,Disk Parameter Block);2.依据分割区中文件目录表(FDT)内含的全部短文件名项,在长文件名备份文件中找到相应的内容(包含短文件名项与相应的长文件名项),然后在此目录下的文件目录表(FDT)中将相应的短文件名项替换为备份文件中所对应的短文件名项与相应的长文件名项;而成为一个新的文件目录项(如图6所示);3.向下搜寻子目录的文件目录表(FDT);4.依据子目录下的文件目录表(FDT)内含的全部短文件名项,在长文件名备份文件中找到相应的内容(包含短文件名项与相应的长文件名项),然后在此子目录下的文件目录表(FDT)中将相应的短文件名项替换为备份文件中所对应的短文件名项与相应的长文件名项,而成为一个新的文件目录项(如图4所示);以及
5.判断是否还有子目录未完成长文件名项的恢复操作?若为是,则返回至步骤4,若为否,则结束恢复操作。
继续请参阅图9,其为本发明恢复长文件名的主要实施步骤流程图,其包括有1.开始执行恢复操作;2.读取待恢复的硬盘中FDT的文件目录区内容;3.在当前的目录下寻找长文件名备份文件;4.判断是否找到长文件名备份文件?若为是,则继续下一步骤,若为否,则跳至步骤9;5.恢复长文件名,是依据当前目录中文件目录表(FDT)内含的所有短文件名项,在长文件名备份文件中找到相应的内容(包括短文件名项与相应的长文件名项),然后在此目录下的文件目录表(FDT)中将相应的短文件名项替换为前述备份文件中所对应的短文件名项与相应的长文件名项,而成为一个新的文件目录项;6.寻找当前目录的子目录;7.判断是否存在子目录?若为是,则进行下一步骤,若为否,则跳至步骤9;8.恢复当前子目录下的长文件名,然后返回至步骤6递回处理其他的子目录;以及9.结束恢复操作。
在图9的备份流程中,同样是根据分割表(Partition Table)中欲备份的磁盘代码(如C\),查找其根目录的位置,就FAT16而言,是为FAT后的第一个扇区,就FAT32而言,通常位于第二个磁簇,当然也可以从DPB中得到FAT32的根目录位置。取得根目录之后就可以对根目录以及所有子目录中的短文件名项,转换成一个包含短文件名项与相应的长文件名项的新文件目录项,而完成长文件名的恢复操作。
前述图9中对于恢复长文件名的详细步骤如10图所示,包括有1.从磁盘的当前目录中读取一短文件名项;2.判断是否结束长文件名的恢复,若为是,则结束此一目录的长文件名恢复操作,若为否,则继续下一步骤;3.在当前目录中寻找长文件名备份文件;
4.判断是否找到长文件名备份文件?若为是,则继续下一步骤,若为否,则返回至步骤1;5.寄存短文件名项的信息;6.删除短文件名项;7.自长文件名备份文件中移入包含有相同的短文件名项以及相应的长文件名项;以及8.修改短文件名项所指向的文件第一个磁族,使其与刚才删除的短文件名项一致,然后返回至步骤1。
在图10中的处理流程中,是从文件目录区中取得一个短文件名,然后在同一目录下的长文件备份文件中查找其相应的长文件名项(其步骤流程如图11所示),如果查到则删除文件目录区中的短文件名,然后将长文件备份文件中的短文件名项与相应的长文件名项一起加入到文件目录区中(其步骤流程如图12所示),再修改短文件名项所指向的文件的第一磁簇,使其与刚删除的短文件名项一致。
以下就以表六所示的一实例来说明,在同一目录下的长文件名,其在备份前和系统破坏后以及利用本发明的方法恢复后的内容。
而在这个实施例的结果可以看见,本发明在系统破坏后,可以把仅存的短文件名恢复到了备份前的情形
表一、FAT16的结构
表二FAT32的结构
表三长/短文件名目录项在FDT中的配置
表四长文件名目录项的格式
>表五短文件名目录项的格式备份前存有以上三个长文件名文件的目录13700460 42 4C 41 43 4B 54 7E 31-42 4D 50 20 00 0F 2B 6D BLACKT-1BMP..+m13700470 67 25 67 25 00 00 20 A0-AB 24 0D 00 B6 00 00 00 g%g%....S......13700480 42 6E 00 20 00 53 00 61-00 76 00 0F 00 6B 65 00 Bn..S.a.v...ke.13700490 72 00 2E 00 53 00 43 00-52 00 00 00 00 00 FF FF r...S.C.R.......137004A0 01 43 00 68 00 61 00 6E-00 6E 00 0F 00 6B 65 00 .C.h.a.n.n...ke.137004B0 6C 00 20 00 53 00 63 00-72 00 00 00 65 00 65 00 1..S.c.r...e.e.137004C0 43 48 41 4E 4E 45 7E 31-53 43 52 20 00 10 2B 6D CHANNE-1SCR..+m137004D0 67 25 67 25 00 00 20 A0-AB 24 0E 00 40 48 01 00 g%g%....S..@H..137004E0 42 2E 00 74 00 78 00 74-00 00 00 0F 00 D0 FF FF B..t..x.t........137004F0 FF FF FF FF FF FF FF FF-FF FF 00 00 FF FF FF FF...............13700500 01 52 00 75 00 6E 00 4F-00 6E 00 0F 00 D0 63 00 .R.u.n.O.n....c.13700510 65 00 45 00 78 00 20 00-4C 00 00 00 6F 00 67 00 e.E.x..L...o.g.13700520 52 55 4E 4F 4E 43 7E 31-54 58 54 20 00 15 2B 6D RUNONC-1TXT..+m13700530 67 25 67 25 00 00 16 72-65 25 14 00 B3 45 00 00 g%g%...re%...E..13700540 42 69 00 66 00 00 00 FF-FF FF FF 0F 00 23 FF FF Bi.f..........#..13700550 FF FF FF FF FF FF FF FF-FF FF 00 00 FF FF FF FF................13700560 01 45 00 78 00 69 00 74-00 20 00 0F 00 23 54 00 .E.x.i.l...#T.13700570 6F 00 20 00 44 00 6F 00-73 00 00 00 2E 00 70 00 o..D.o.s.....p13700580 45 58 49 54 54 4F 7E 31-50 49 46 20 00 1E 2B 6D EXITTO-1PIF..+m13700590 67 25 67 25 00 00 EC 49-66 25 16 00 C7 03 00 00 g%g%...If%......
Windows95系统破坏后的该目录13700460 42 4C 41 43 4B 54 7E 31-42 4D 50 20 00 0F 2B 6DBLACKT-1BMP..+m13700470 67 25 67 25 00 00 20 A0-AB 24 0D 00 B6 00 00 00g%g%....S......
13700480 43 48 41 4E 4E 45 7E 31-53 43 52 20 00 10 2B 6DCHANNE-1SCR..+m13700490 67 25 67 25 00 00 20 A0-AB 24 0E 00 40 48 01 00g%g%....S..@H137004A0 52 55 4E 4F 4E 43 7E 31-54 58 54 20 00 15 2B 6DRUNONC-1TXT..+m137004B0 67 25 67 25 00 00 16 72-65 25 14 00 B3 45 00 00g%g%...re%...E..
137004C0 45 58 49 54 54 4F 7E 31-50 49 46 20 00 1E 2B 6DEXITTO-1PIF..+m137004D0 67 25 67 25 00 00 EC 49-66 25 16 00 C7 03 00 00g%g%...If%......
利用本发明进行恢复后的同一个目录13700000 42 4C 41 43 4B 54 7E 31-42 4D 50 20 00 0F 2B 6DBLACKT-1BMP..+m13700010 67 25 67 25 00 00 20 A0-AB 24 0D 00 B6 00 00 00g%g%....S......
13700020 42 6E 00 20 00 53 00 61-00 76 00 0F 00 6B 65 00Bn..S.a.v...ke.
13700030 72 00 2E 00 53 00 43 00-52 00 00 00 00 00 FF FFr...S.C.R......
13700040 01 43 00 68 00 61 00 6E-00 6E 00 0F 00 6B 65 00.C.h.a.n.n...ke.
13700050 6C 00 20 00 53 00 63 00-72 00 00 00 65 00 65 00L.S.c.r...e.e.
13700060 43 48 4E 4E 45 45 7E 31-53 43 52 20 00 10 2B 6DCHANNE-1SCR..+m13700070 67 25 67 25 00 00 20 A0-AB 24 0E 00 40 48 01 00g%g%....S..@H..
13700080 42 2E 00 74 00 78 00 74-00 00 00 0F 00 D0 FF FFB..t..x.t........
13700090 FF FF FF FF FF FF FF FF-FF FF 00 00 FF FF FF FF ...........
137000A0 01 52 00 75 00 6E 00 4F-00 6E 00 0F 00 D0 63 00.R.u.n.O.n....c.
137000B0 65 00 45 00 78 00 20 00-4C 00 00 00 6F 00 67 00e.E.x..L...o.g.
137000C0 52 55 4E 4F 4E 43 7E 31-54 58 54 20 00 15 2B 6DRUNONC-1TXT..+m137000D0 67 25 67 25 00 00 16 72-65 25 14 00 B3 45 00 00g%g...re%...E..
137000E0 42 69 00 66 00 00 00 FF-FF FF FF 0F 00 23 FF FFBi.f..........#..
137000F0 FF FF FF FF FF FF FF FF-FF FF 00 00 FF FF FF FF ................
13700100 01 45 00 78 00 69 00 74-00 00 00 0F 00 23 54 00.E..x.i.t....#T.
13700110 6F 00 20 00 44 00 6F 00-73 00 00 00 2E 00 70 00o..D.o.s.....p.
13700120 48 58 49 54 54 4F 7E 31-50 49 46 20 00 1E 2B 6DEXITTO-1PIF..+m13700130 67 25 67 25 00 00 EC 49-66 25 16 00 C7 00 00 00g%g%...If%......
表六本发明方法的优点在于1.可以在不支援长文件名的电脑环境中备份和恢复长文件名。
2.不受电脑操作系统所属的语系影响,仍能在不支援长文件名的环境中备份和恢复长文件名。
3.对操作系统要求较低,仍可以在Windows完全不能启动的情况下,进行长文件名的备份和恢复操作。
权利要求
1.一种在电脑中备份和恢复文件的长文件名的方法,是应用于个人电脑中,用以在不支援长文件名的环境下,备份和恢复文件的长文件名,其特征在于,包括有1)自逻辑磁盘的分割区(Partition)中取得一文件目录表(FDT),再将该文件目录表中的一长文件名项与一短文件名项,对应转储成为一包含有该短文件名项与相应的该长文件名项的长文件名备份文件;以及2)以备份该长文件名的逆过程,搜寻每一个该文件目录表及文件子目录表中的短文件名,再将该备份文件中相应的该长文件名写回至原来的该文件目录表(FDT)中。
2.如权利要求1所述在电脑中备份和恢复文件的长文件名的方法,其特征在于,备份该长文件名备份文件是由下列的步骤来实现的1)根据该磁盘的分割表(Partition Table),查找该磁盘的分割区(Partition)的磁盘参数块(DPB,Disk Parameter Block);2)将该分割区中的文件目录表(FDT)内含有的一长文件名项与一短文件名项备份存储于当前的目录下,成为一长文件名备份文件;3)向下搜寻子目录的文件目录表(FDT);4)将子目录的该文件目录表(FDT)内含的一长文件名项与一短文件名项备份存储于当前子目录的长文件名备份文件之中;以及5)判断是否还有子目录未完成备份?若为是,则返回至步骤4,若为否,则结束备份操作。
3.如权利要求1所述在电脑中备份和恢复文件的长文件名的方法,其特征在于,恢复该长文件名备份文件的方法包括有1)根据该分割表(Partition Table),查找该磁盘的分割区(Partition)的磁盘参数块(DPB,Disk Parameter Block);2)依据该分割区中的一文件目录表(FDT)内含的全部短文件名项,在该长文件名备份文件中找到相应的内容,然后在该目录下的文件目录表(FDT)中将相应的该短文件名项替换为该备份文件中所对应的该短文件名项与该相应的长文件名项,而成为一个新的文件目录项;3)向下搜寻子目录的文件目录表(FDT);4)依据该子目录下的该文件目录表(FDT)内含的全部短文件名项,在该长文件名备份文件中找到相应的内容,然后在该子目录下的文件目录表(FDT)中将相应的该短文件名项替换为该备份文件中所对应的该短文件名项与该相应的长文件名项,而成为一个新的文件目录项;以及5)判断是否还有子目录未完成长文件名项的恢复操作?若为是,则返回至步骤4,若为否,则结束备份操作。
4.如权利要求3所述在电脑中备份和恢复文件的长文件名的方法,其特征在于,该步骤中所称在该长文件名备份文件中的该相应内容,包含有一短文件名项与相应的长文件名项。
5.一种在不支援长文件名的电脑环境中备份文件的长文件名的方法,其特征在于,包括有1)开始执行备份;2)读取待备份的硬盘的磁盘参数块(DPB)的内容,取得文件系统的识别码(FSID,File System ID);3)判断该FSID,若为FAT16,则继续下一步骤,若为FAT32,则跳至步骤6,若以上二者皆非,则跳至步骤9;4)计算启动记录表(BDT,Boot Directory Table)的位置;5)设BDT的大小(磁盘容量/磁簇);6)取得BDT的起始;7)计算BDT起始位置;8)搜寻所有的文件目录表(FDT),并且在当前的搜寻目录下生成一长文件名的备份文件;以及9)结束备份操作。
6.如权利要求5所述在电脑中备份和恢复文件的长文件名的方法,其特征在于,该步骤8还包括有1)判断当前目录下的长文件名备份文件生成操作是否结束?若为是,则跳至步骤5,若为否,则继续下一步骤;2)读取一文件目录项并存入当前目录下的长文件名备份文件;3)判断该文件目录项是否为长文件名结束项?若为是,则进行下一步骤,若为否,则返回至步骤1;4)备份并保存成一位于当前目录下的长文件名备份文件,然后返回至步骤1;5)设起始文件目录项为当前目录;6)判断当前目录下的所有长文件名备份文件生成操作是否结束?若为是,则结束长文件名备份文件的生成操作,若为否,则继续下一步.骤;7)读取一文件目录项并存入当前目录下的长文件名备份文件;8)判断这个文件目录项是否为子目录?若为是,则进行下一步骤,若为否,则返回至步骤6;以及9)递归处理下一个子目录,然后返回至步骤6。
7.如权利要求6所述在电脑中备份和恢复文件的长文件名的方法,其特征在于,该文件目录项包含有一短文件名项与一相应的长文件名项。
全文摘要
一种在电脑中备份和恢复文件的长文件名的方法,通过调用电脑输入输出系统,自逻辑硬盘的分割区中取得文件目录表,再将文件目录表中的长文件名项与短文件名项,对应转储成长文件名的备份文件,而完成备份操作;然后在不支援长文件名的环境中,以备份长文件名的逆过程先搜寻每一目录及子目录中的短文件名,再将备份文件中相应的长文件名写回至原来的文件目录表中,绕开DOS不支援长文件名的限制,而实现备份和恢复长文件名的目的。
文档编号G06F17/00GK1266234SQ9910248
公开日2000年9月13日 申请日期1999年3月4日 优先权日1999年3月4日
发明者林光信, 陈玄同, 刘军 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1