欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在電腦中備份和恢復(fù)文件的長文件名的方法

文檔序號:6416249閱讀:679來源:國知局
專利名稱:在電腦中備份和恢復(fù)文件的長文件名的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種在電腦中備份和恢復(fù)文件的長文件名的方法,特別是涉及一種應(yīng)用于個(gè)人電腦中,可以在不支援長文件名的環(huán)境下(如DOS環(huán)境),備份和恢復(fù)長文件名的方法。
在微軟公司所發(fā)表的視窗95(Windows 95)及其后續(xù)的視窗電腦操作系統(tǒng)(Windows9x)中,對用戶很有用的改進(jìn)之一就是可以使用長文件名的功能,這使用戶從文件名稱只能使用8個(gè)字元加以命名的限制中解脫了出來。但是,在此之前的電腦操作系統(tǒng)(如Win31,DOS等)并不支援長文件名的文件,為了與DOS相容,視窗95操作系統(tǒng)將每個(gè)長文件名都生成一個(gè)相應(yīng)的短文件名,以便在非視窗95(即是不支援長文件名的環(huán)境)中也可以通過短文件名而存取文件內(nèi)容。但是即使視窗95本身掛附有DOS7.0版的操作系統(tǒng),如果不啟動(dòng)視窗95仍然無法生成長文件名。所以在不支援長文件名的DOS環(huán)境下生成長文件名,在許多情況下是非常必要的,例如對電腦操作系統(tǒng)的備份和恢復(fù)。
而在實(shí)際使用電腦的過程中,難免遭遇到操作系統(tǒng)破壞的情形,而重新安裝操作系統(tǒng)對于使用視窗95的用戶而言,往往是一件復(fù)雜卻又不得不去面對的過程,如果用戶沒有備份,就必需通過重新安裝的方式重新安裝置應(yīng)用軟件。微軟所提供的備份程序只用于備份文件而不能備份系統(tǒng),所以為了避免系統(tǒng)破壞后不便重新安裝系統(tǒng),對系統(tǒng)的備份與恢復(fù)是很必要的。當(dāng)Windows9x在無法啟動(dòng)的情況下,而需要利用備份來恢復(fù)系統(tǒng)時(shí),會(huì)遇到在DOS環(huán)境下無法生成長文件名的問題,若不恢復(fù)系統(tǒng)中的長文件名,則Windows9x又無法啟動(dòng),因此,在非Windows9x(即是不支援長文件名的環(huán)境)的環(huán)境中生成長文件名就顯得很必要了。
本發(fā)明的目的在于提供一種能夠在不支援長文件名的電腦環(huán)境中備份和恢復(fù)長文件名的方法。
本發(fā)明的另一目的在于提供一種不受電腦操作系統(tǒng)所屬的語系影響,仍能在不支援長文件名的環(huán)境中備份和恢復(fù)長文件名的方法。
本發(fā)明的又一目的在于提供一種對操作系統(tǒng)要求較低,仍可以在Windows完全不能啟動(dòng)的情況下,進(jìn)行長文件名的備份和恢復(fù)的方法。
本發(fā)明的目的是這樣實(shí)現(xiàn)的,其是通過調(diào)用電腦的基本輸入輸出系統(tǒng)(BIOS),自邏輯硬盤的分割區(qū)(Paratition)中取得文件目錄表(FDT),再將文件目錄表中的長文件名項(xiàng)與短文件名項(xiàng),對應(yīng)轉(zhuǎn)儲(chǔ)存一長文件名備份文件,而完成長文件名的備份操作;然后在不支援長文件名的環(huán)境中,以備份長文件名的逆過程先搜尋每一個(gè)目錄中的短文件名,再將備份文件中相應(yīng)的長文件名寫回至原來的文件目錄表(FDT)中,繞開了DOS不支援長文件名的限制,而實(shí)現(xiàn)了在不支援長文件名的環(huán)境下備份和恢復(fù)長文件名的目的。
根據(jù)本發(fā)明所揭露的方法,由于可以在視窗操作系統(tǒng)(Windows)完全不能啟動(dòng)的情況下進(jìn)行長文件名的備份和恢復(fù),即是與操作系統(tǒng)的語系版本無關(guān),例如可以在簡體中文Windows95中備份和恢復(fù)繁體Windows95中的長文件名文件,而不會(huì)產(chǎn)生文件名代碼錯(cuò)誤,至于其他的備份方法由于對Windows95本身的依賴,將無法解決文件名代碼錯(cuò)誤的問題。
下面結(jié)合附圖,詳細(xì)說明本發(fā)明的實(shí)施例,其中

圖1為實(shí)現(xiàn)本發(fā)明的電腦硬件結(jié)構(gòu)圖;圖2為磁盤分割區(qū)的數(shù)據(jù)結(jié)構(gòu)圖;圖3為本發(fā)明備份長文件名的操作流程圖;圖4為本發(fā)明恢復(fù)長文件名的操作流程圖;圖5為本發(fā)明在某一目錄下生成長文件名備份文件的操作流程圖;圖6為本發(fā)明利用長文件名備份文件在電腦中恢復(fù)長文件名的操作流程圖;圖7為本發(fā)明備份長文件名的主要步驟流程圖;圖8為圖7中的局部流程圖,顯示在文件目錄表(FDT)中搜尋并且生成長文件名備份文件的詳細(xì)步驟;圖9為本發(fā)明恢復(fù)長文件名的主要步驟流程圖;圖10為圖7中的局部流程圖,顯示在文件目錄表(FDT)中搜尋并且恢復(fù)長文件名的詳細(xì)步驟;圖11為根據(jù)本發(fā)明的方法在長文件名備份文件中尋找長文件名的詳細(xì)步驟流程圖;圖12為根據(jù)本發(fā)明的方法將長文件名備份文件的內(nèi)容寫入文件目錄表中的詳細(xì)步驟流程圖。
首先請參考圖1,本發(fā)明所揭露在不支援長文件名的環(huán)境中備份和恢復(fù)長文件名的方法,是通過在下列的硬件結(jié)構(gòu)中的進(jìn)行而實(shí)現(xiàn),這些硬件結(jié)構(gòu)包括有一微處理單元10,用以執(zhí)行本發(fā)明所揭露用以備份和恢復(fù)長文件名的操作程序;一基本輸入輸出系統(tǒng)20(BIOS,Basic Input/Output System);一硬盤30,用于儲(chǔ)存電腦的操作系統(tǒng)、應(yīng)用軟件或文件等可供微處理單元10利用的數(shù)據(jù);一輸入單元40,如鍵盤、鼠標(biāo)器、光筆或其他功能類似的設(shè)備,用以輸入數(shù)據(jù);一輸出單元50,如屏幕、顯示器、液晶顯示屏,觸控顯示器或其他功能類似的設(shè)備,用以輸出微處理單元10的處理結(jié)果;一隨機(jī)存取存儲(chǔ)器模組件60,用以寄存相關(guān)的處理數(shù)據(jù);以及一電源供給裝置70,用以供給前述各元件運(yùn)作所需的電能。
根據(jù)本發(fā)明所揭露的方法,是通過下列兩個(gè)階段加以實(shí)現(xiàn)長文件名的備份和恢復(fù),包括有1.備份長文件名成為一長文件名備份文件;以及2.利用長文件名備份文件進(jìn)行備份的逆過程,而完成長文件名的恢復(fù)。
在進(jìn)一步詳細(xì)說明以上兩個(gè)階段的詳細(xì)技術(shù)內(nèi)容之前,先就實(shí)施本發(fā)明技術(shù)的過程中有關(guān)長文件名與短文件名的知識作一說明。·磁盤的數(shù)據(jù)存儲(chǔ)格式磁盤(如硬式磁盤、軟式磁盤)為電腦的周邊設(shè)備之一,屬于記錄媒體的一種,用以存儲(chǔ)操作系統(tǒng)、應(yīng)用程序、數(shù)字?jǐn)?shù)據(jù)、類比數(shù)據(jù)..等;不論是硬式磁盤或是軟式磁盤在使用前都必須先經(jīng)過“啟始”,這個(gè)啟始的過程就稱為格式化(Formatting),目前在DOS和Windows環(huán)境下,磁盤的格式化方式可由微軟公司提供的“Format”指令來進(jìn)行,通過“Format”指令把磁盤分成許多個(gè)磁區(qū)(Sector),以及由磁區(qū)所合成的磁軌(Track);再分別對磁區(qū)與磁軌予以編號,并將與磁區(qū)、磁軌相關(guān)的數(shù)據(jù)寫入預(yù)先建立的文件配置表(FAT,F(xiàn)ile Allocation Table)與文件目錄表(FDT,F(xiàn)ile Directory Table)中。請參閱圖2,為一磁盤分割區(qū)(Partition)的結(jié)構(gòu)示意圖,其中包括有一啟動(dòng)記錄、第一文件配置表、第二文件配置表、文件目錄區(qū)、以及數(shù)據(jù)記錄區(qū),而前述的文件目錄區(qū)與數(shù)據(jù)記錄區(qū)就是所謂文件目錄表(FDT)的構(gòu)成內(nèi)容。其中文件目錄區(qū)是由多個(gè)文件目錄項(xiàng)(內(nèi)含有短文件名目錄項(xiàng)與相應(yīng)的長文件名目錄項(xiàng))所組成,用以提供與儲(chǔ)存于數(shù)據(jù)記錄區(qū)內(nèi)的數(shù)據(jù)相關(guān)的信息(如;文件名稱、附加文件名、時(shí)間標(biāo)示…等等)。
在前述的啟動(dòng)記錄中還包括有一磁盤參數(shù)塊(DPB,Disc ParameterBlock,以下簡稱為DPB),而此一DPB在FAT 16與FAT 32系統(tǒng)中的結(jié)構(gòu)并不完全相同,其內(nèi)容分別如[表一]以及[表二]所示。
而短文件名目錄項(xiàng)與長文件名目錄項(xiàng)在FDT中的配置如[表三]所示。·長文件名項(xiàng)與短文件名項(xiàng)的結(jié)構(gòu)在視窗95(Windows95)中提供了一種利用8.3格式(短文件名格式)的目錄項(xiàng)存儲(chǔ)長文件名的方法。微軟公司(Microsoft)稱利用此方法的文件系統(tǒng)為虛擬文件分割表(VFAT.Virtual File Allocation Table)。根據(jù)此一文件系統(tǒng)存儲(chǔ)的每一個(gè)長文件名都有一個(gè)對應(yīng)的8.3格式別名。長文件名與短文件名被一同存儲(chǔ)在一個(gè)文件目錄表(FDT,F(xiàn)ile Directory Table,以下簡稱FDT),而每一個(gè)FDT則又包含了多個(gè)文件目錄項(xiàng)(內(nèi)含有短文件名目錄項(xiàng)與相應(yīng)的長文件名目錄項(xiàng)),每一個(gè)長文件名目錄項(xiàng)可以存儲(chǔ)長文件名中的13個(gè)字元[長文件名是以通用碼(UNICODE)形式存儲(chǔ),而每字元占2個(gè)比特(BYTE)],而為了區(qū)分FDT中的目錄項(xiàng)是長文件名還是短文件名,Windows95將長文件名的目錄屬性比特設(shè)為“OF”,而“OF”屬性在DOS下是非法的文件名,DOS無法對這種文件名進(jìn)行存取,也不能進(jìn)行更名或刪除,所以這樣的長文件名在DOS下就可以得到保護(hù),而DOS則又可以通過其相應(yīng)的短文件名在存取文件。
而有關(guān)長文件名目錄項(xiàng)與短文件名目錄項(xiàng)的格式請分別參考表四表五的內(nèi)容。
下列所舉的就是一個(gè)長文件名為RunOnceEx Log.txt,相應(yīng)的短文件名為RUNONC~1.TXT的文件在電腦中的存儲(chǔ)形式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比特為長文件名結(jié)束項(xiàng)13700500開始第32比特為長文件名項(xiàng)13700520開始第32比特為短文件名目錄項(xiàng)Windows還可以通過對短文件名求校驗(yàn)和再與長文件名中的校驗(yàn)和進(jìn)行比較,來判斷短文件名是否在非Windows9x的環(huán)境中被修改。
所以,根據(jù)本發(fā)明所揭露的技術(shù),就只要將文件目錄區(qū)中的長文件名目錄項(xiàng)和相應(yīng)的短文件名目錄項(xiàng)一同備份成為一長文件名備份文件,便可以在將來根據(jù)欲恢復(fù)長文件名的磁盤目錄中的短文件名,再于長文件名備份文件中取得相應(yīng)的長文件名目錄項(xiàng),而進(jìn)行長文件名的恢復(fù)操作?!ど砷L文件名備份文件的操作流程請參閱圖3,本發(fā)明對長文件名進(jìn)行備份的操作流程包括有1.根據(jù)分割表(Partition Table),查找硬盤30的分割區(qū)(Partition)的第一個(gè)扇區(qū)(即磁盤參數(shù)塊,DPB,Disk Parameter Block);2.將分割區(qū)中的文件目錄表(FDT)內(nèi)含的長文件名項(xiàng)與短文件名項(xiàng)備份存儲(chǔ)于當(dāng)前的目錄下,成為一長文件名備份文件;3.向下搜尋子目錄的文件目錄表(FDT);4.將子目錄的文件目錄表(FDT)內(nèi)含的長文件名項(xiàng)與短文件名項(xiàng)備份存儲(chǔ)于當(dāng)前子目錄的長文件名備份文件之中;以及5.判斷是否還有子目錄未完成備份?若為是,同返回至步驟4,若為否,則結(jié)束備份操作。
請參閱圖5,在生成長文件名備份文件的過程中,由于在同一個(gè)FDT之中可能包括有多個(gè)非為長文件名格式的短文件名,如圖中的短文件名1~短文件名3,就不會(huì)有相應(yīng)的長文件名存在,而這些短文件名1~短文件名3的短文件名項(xiàng)在將來恢復(fù)長文件名的操作中,將沒有任何的用處,因此本發(fā)明在把FDT內(nèi)含的長文件名項(xiàng)和短文件名項(xiàng)一起存儲(chǔ)而生成一長文件名備份文件之后,還會(huì)再將長文件名備份文件中不含有相應(yīng)的長文件名項(xiàng)的短文件名予以去除,也就是去掉無用的短文件名信息。
繼續(xù)請參閱圖7,其為本發(fā)明備份長文件名的主要實(shí)施步驟流程圖,其包括有1.開始執(zhí)行備份;2.讀取待備份的硬盤的磁盤參數(shù)塊(DPB)的內(nèi)容,取得文件系統(tǒng)的識別碼(FSID,F(xiàn)ile System ID);3.判斷FSID,若為FAT16,則繼續(xù)下一步驟,若為FAT32,則跳至步驟6,若以上二者皆非,則跳至步驟9;4.計(jì)算啟動(dòng)記錄表(BDT,Boot Directory Table)的位置;5.設(shè)BDT的大小(磁盤容量/磁簇);6.取得BDT的起始;7.計(jì)算BDT起始位置;8.搜尋所有的文件目錄表FDT,并且在當(dāng)前的搜尋目錄下生成長文件名的備份文件;以及9.結(jié)束備份操作。
在圖7的備份流程中,首先根據(jù)分割表(Partition Table)中欲備份的磁盤代碼(如C\),查找其根目錄的位置,就FAT16而言,為FAT后的第一個(gè)扇區(qū),就FAT32而言,通常位于第二個(gè)磁簇,當(dāng)然也可以從DPB中得到FAT32的根目錄位置。取得根目錄之后就可以對根目錄以及所有子目錄執(zhí)行長文件名的備份操作。
前述的步驟8還包括下列步驟(請參閱圖8)1.判斷當(dāng)前目錄下的長文件名備份文件生成操作是否結(jié)束?若為是,則跳至步驟5,若為否,則繼續(xù)下一步驟;2.讀取一文件目錄項(xiàng)并存入當(dāng)前目錄下的長文件名備份文件;3.判斷這個(gè)文件目錄項(xiàng)是否為長文件名結(jié)束項(xiàng)?若為是,則進(jìn)行下一步驟,若為否,則返回至步驟1;4.備份并保存成一位于當(dāng)前目錄下的長文件名備份文件,然后返回至步驟1;
5.設(shè)起始文件目錄項(xiàng)為當(dāng)前目錄;6.判斷當(dāng)前目錄下的所有長文件名備份文件生成操作是否結(jié)束?若為是,則結(jié)束長文件名備份文件的生成操作,若為否,則繼續(xù)下一步驟;7.讀取一文件目錄項(xiàng)并存入當(dāng)前目錄下的長文件名備份文件;8.判斷這個(gè)文件目錄項(xiàng)是否為子目錄?若為是,則進(jìn)行下一步驟,若為否,則返回至步驟6;以及9.遞回處理下一個(gè)子目錄,然后返回至步驟6。
在圖8中所示的生成流程中,其中搜尋FDT并且備份保存長文件名(LFN,Long File Name)的方式,是采用兩次搜尋的方法進(jìn)行,第一次搜尋時(shí),分析所有扇區(qū)并保存所有的長文件名項(xiàng)以及相應(yīng)的短文件名項(xiàng),而第二次搜尋時(shí),則是分析所有的子目錄,進(jìn)行縱深搜尋,保存所有子目錄中的所有長文件名項(xiàng)以及相應(yīng)的短文件名項(xiàng)。
由于本發(fā)明采用遞回的處理方式,經(jīng)計(jì)算采用此種方式可以處理深度達(dá)40級的子目錄。如果在遞回時(shí)不保留當(dāng)前目錄的話,可以將遞回深度增加到80級以上,不但適用于FAT16的文件系統(tǒng),也適用于FAT32的文件系統(tǒng)?!せ謴?fù)長文件名的操作流程請參閱圖4,其為本發(fā)明根據(jù)長文件名備份文件恢復(fù)長文件名的操作流程,恢復(fù)的步驟基本上就是對長文件名進(jìn)行備份操作的逆過程,其包括有1.根據(jù)分割表(Partition Table),查找硬盤30的分割區(qū)(Partition)的第一個(gè)扇區(qū)(即磁盤參數(shù)塊,DPB,Disk Parameter Block);2.依據(jù)分割區(qū)中文件目錄表(FDT)內(nèi)含的全部短文件名項(xiàng),在長文件名備份文件中找到相應(yīng)的內(nèi)容(包含短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng)),然后在此目錄下的文件目錄表(FDT)中將相應(yīng)的短文件名項(xiàng)替換為備份文件中所對應(yīng)的短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng);而成為一個(gè)新的文件目錄項(xiàng)(如圖6所示);3.向下搜尋子目錄的文件目錄表(FDT);4.依據(jù)子目錄下的文件目錄表(FDT)內(nèi)含的全部短文件名項(xiàng),在長文件名備份文件中找到相應(yīng)的內(nèi)容(包含短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng)),然后在此子目錄下的文件目錄表(FDT)中將相應(yīng)的短文件名項(xiàng)替換為備份文件中所對應(yīng)的短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng),而成為一個(gè)新的文件目錄項(xiàng)(如圖4所示);以及
5.判斷是否還有子目錄未完成長文件名項(xiàng)的恢復(fù)操作?若為是,則返回至步驟4,若為否,則結(jié)束恢復(fù)操作。
繼續(xù)請參閱圖9,其為本發(fā)明恢復(fù)長文件名的主要實(shí)施步驟流程圖,其包括有1.開始執(zhí)行恢復(fù)操作;2.讀取待恢復(fù)的硬盤中FDT的文件目錄區(qū)內(nèi)容;3.在當(dāng)前的目錄下尋找長文件名備份文件;4.判斷是否找到長文件名備份文件?若為是,則繼續(xù)下一步驟,若為否,則跳至步驟9;5.恢復(fù)長文件名,是依據(jù)當(dāng)前目錄中文件目錄表(FDT)內(nèi)含的所有短文件名項(xiàng),在長文件名備份文件中找到相應(yīng)的內(nèi)容(包括短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng)),然后在此目錄下的文件目錄表(FDT)中將相應(yīng)的短文件名項(xiàng)替換為前述備份文件中所對應(yīng)的短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng),而成為一個(gè)新的文件目錄項(xiàng);6.尋找當(dāng)前目錄的子目錄;7.判斷是否存在子目錄?若為是,則進(jìn)行下一步驟,若為否,則跳至步驟9;8.恢復(fù)當(dāng)前子目錄下的長文件名,然后返回至步驟6遞回處理其他的子目錄;以及9.結(jié)束恢復(fù)操作。
在圖9的備份流程中,同樣是根據(jù)分割表(Partition Table)中欲備份的磁盤代碼(如C\),查找其根目錄的位置,就FAT16而言,是為FAT后的第一個(gè)扇區(qū),就FAT32而言,通常位于第二個(gè)磁簇,當(dāng)然也可以從DPB中得到FAT32的根目錄位置。取得根目錄之后就可以對根目錄以及所有子目錄中的短文件名項(xiàng),轉(zhuǎn)換成一個(gè)包含短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng)的新文件目錄項(xiàng),而完成長文件名的恢復(fù)操作。
前述圖9中對于恢復(fù)長文件名的詳細(xì)步驟如10圖所示,包括有1.從磁盤的當(dāng)前目錄中讀取一短文件名項(xiàng);2.判斷是否結(jié)束長文件名的恢復(fù),若為是,則結(jié)束此一目錄的長文件名恢復(fù)操作,若為否,則繼續(xù)下一步驟;3.在當(dāng)前目錄中尋找長文件名備份文件;
4.判斷是否找到長文件名備份文件?若為是,則繼續(xù)下一步驟,若為否,則返回至步驟1;5.寄存短文件名項(xiàng)的信息;6.刪除短文件名項(xiàng);7.自長文件名備份文件中移入包含有相同的短文件名項(xiàng)以及相應(yīng)的長文件名項(xiàng);以及8.修改短文件名項(xiàng)所指向的文件第一個(gè)磁族,使其與剛才刪除的短文件名項(xiàng)一致,然后返回至步驟1。
在圖10中的處理流程中,是從文件目錄區(qū)中取得一個(gè)短文件名,然后在同一目錄下的長文件備份文件中查找其相應(yīng)的長文件名項(xiàng)(其步驟流程如圖11所示),如果查到則刪除文件目錄區(qū)中的短文件名,然后將長文件備份文件中的短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng)一起加入到文件目錄區(qū)中(其步驟流程如圖12所示),再修改短文件名項(xiàng)所指向的文件的第一磁簇,使其與剛刪除的短文件名項(xiàng)一致。
以下就以表六所示的一實(shí)例來說明,在同一目錄下的長文件名,其在備份前和系統(tǒng)破壞后以及利用本發(fā)明的方法恢復(fù)后的內(nèi)容。
而在這個(gè)實(shí)施例的結(jié)果可以看見,本發(fā)明在系統(tǒng)破壞后,可以把僅存的短文件名恢復(fù)到了備份前的情形
表一、FAT16的結(jié)構(gòu)
表二FAT32的結(jié)構(gòu)
表三長/短文件名目錄項(xiàng)在FDT中的配置
表四長文件名目錄項(xiàng)的格式
>表五短文件名目錄項(xiàng)的格式備份前存有以上三個(gè)長文件名文件的目錄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系統(tǒng)破壞后的該目錄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%......
利用本發(fā)明進(jìn)行恢復(fù)后的同一個(gè)目錄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%......
表六本發(fā)明方法的優(yōu)點(diǎn)在于1.可以在不支援長文件名的電腦環(huán)境中備份和恢復(fù)長文件名。
2.不受電腦操作系統(tǒng)所屬的語系影響,仍能在不支援長文件名的環(huán)境中備份和恢復(fù)長文件名。
3.對操作系統(tǒng)要求較低,仍可以在Windows完全不能啟動(dòng)的情況下,進(jìn)行長文件名的備份和恢復(fù)操作。
權(quán)利要求
1.一種在電腦中備份和恢復(fù)文件的長文件名的方法,是應(yīng)用于個(gè)人電腦中,用以在不支援長文件名的環(huán)境下,備份和恢復(fù)文件的長文件名,其特征在于,包括有1)自邏輯磁盤的分割區(qū)(Partition)中取得一文件目錄表(FDT),再將該文件目錄表中的一長文件名項(xiàng)與一短文件名項(xiàng),對應(yīng)轉(zhuǎn)儲(chǔ)成為一包含有該短文件名項(xiàng)與相應(yīng)的該長文件名項(xiàng)的長文件名備份文件;以及2)以備份該長文件名的逆過程,搜尋每一個(gè)該文件目錄表及文件子目錄表中的短文件名,再將該備份文件中相應(yīng)的該長文件名寫回至原來的該文件目錄表(FDT)中。
2.如權(quán)利要求1所述在電腦中備份和恢復(fù)文件的長文件名的方法,其特征在于,備份該長文件名備份文件是由下列的步驟來實(shí)現(xiàn)的1)根據(jù)該磁盤的分割表(Partition Table),查找該磁盤的分割區(qū)(Partition)的磁盤參數(shù)塊(DPB,Disk Parameter Block);2)將該分割區(qū)中的文件目錄表(FDT)內(nèi)含有的一長文件名項(xiàng)與一短文件名項(xiàng)備份存儲(chǔ)于當(dāng)前的目錄下,成為一長文件名備份文件;3)向下搜尋子目錄的文件目錄表(FDT);4)將子目錄的該文件目錄表(FDT)內(nèi)含的一長文件名項(xiàng)與一短文件名項(xiàng)備份存儲(chǔ)于當(dāng)前子目錄的長文件名備份文件之中;以及5)判斷是否還有子目錄未完成備份?若為是,則返回至步驟4,若為否,則結(jié)束備份操作。
3.如權(quán)利要求1所述在電腦中備份和恢復(fù)文件的長文件名的方法,其特征在于,恢復(fù)該長文件名備份文件的方法包括有1)根據(jù)該分割表(Partition Table),查找該磁盤的分割區(qū)(Partition)的磁盤參數(shù)塊(DPB,Disk Parameter Block);2)依據(jù)該分割區(qū)中的一文件目錄表(FDT)內(nèi)含的全部短文件名項(xiàng),在該長文件名備份文件中找到相應(yīng)的內(nèi)容,然后在該目錄下的文件目錄表(FDT)中將相應(yīng)的該短文件名項(xiàng)替換為該備份文件中所對應(yīng)的該短文件名項(xiàng)與該相應(yīng)的長文件名項(xiàng),而成為一個(gè)新的文件目錄項(xiàng);3)向下搜尋子目錄的文件目錄表(FDT);4)依據(jù)該子目錄下的該文件目錄表(FDT)內(nèi)含的全部短文件名項(xiàng),在該長文件名備份文件中找到相應(yīng)的內(nèi)容,然后在該子目錄下的文件目錄表(FDT)中將相應(yīng)的該短文件名項(xiàng)替換為該備份文件中所對應(yīng)的該短文件名項(xiàng)與該相應(yīng)的長文件名項(xiàng),而成為一個(gè)新的文件目錄項(xiàng);以及5)判斷是否還有子目錄未完成長文件名項(xiàng)的恢復(fù)操作?若為是,則返回至步驟4,若為否,則結(jié)束備份操作。
4.如權(quán)利要求3所述在電腦中備份和恢復(fù)文件的長文件名的方法,其特征在于,該步驟中所稱在該長文件名備份文件中的該相應(yīng)內(nèi)容,包含有一短文件名項(xiàng)與相應(yīng)的長文件名項(xiàng)。
5.一種在不支援長文件名的電腦環(huán)境中備份文件的長文件名的方法,其特征在于,包括有1)開始執(zhí)行備份;2)讀取待備份的硬盤的磁盤參數(shù)塊(DPB)的內(nèi)容,取得文件系統(tǒng)的識別碼(FSID,F(xiàn)ile System ID);3)判斷該FSID,若為FAT16,則繼續(xù)下一步驟,若為FAT32,則跳至步驟6,若以上二者皆非,則跳至步驟9;4)計(jì)算啟動(dòng)記錄表(BDT,Boot Directory Table)的位置;5)設(shè)BDT的大小(磁盤容量/磁簇);6)取得BDT的起始;7)計(jì)算BDT起始位置;8)搜尋所有的文件目錄表(FDT),并且在當(dāng)前的搜尋目錄下生成一長文件名的備份文件;以及9)結(jié)束備份操作。
6.如權(quán)利要求5所述在電腦中備份和恢復(fù)文件的長文件名的方法,其特征在于,該步驟8還包括有1)判斷當(dāng)前目錄下的長文件名備份文件生成操作是否結(jié)束?若為是,則跳至步驟5,若為否,則繼續(xù)下一步驟;2)讀取一文件目錄項(xiàng)并存入當(dāng)前目錄下的長文件名備份文件;3)判斷該文件目錄項(xiàng)是否為長文件名結(jié)束項(xiàng)?若為是,則進(jìn)行下一步驟,若為否,則返回至步驟1;4)備份并保存成一位于當(dāng)前目錄下的長文件名備份文件,然后返回至步驟1;5)設(shè)起始文件目錄項(xiàng)為當(dāng)前目錄;6)判斷當(dāng)前目錄下的所有長文件名備份文件生成操作是否結(jié)束?若為是,則結(jié)束長文件名備份文件的生成操作,若為否,則繼續(xù)下一步.驟;7)讀取一文件目錄項(xiàng)并存入當(dāng)前目錄下的長文件名備份文件;8)判斷這個(gè)文件目錄項(xiàng)是否為子目錄?若為是,則進(jìn)行下一步驟,若為否,則返回至步驟6;以及9)遞歸處理下一個(gè)子目錄,然后返回至步驟6。
7.如權(quán)利要求6所述在電腦中備份和恢復(fù)文件的長文件名的方法,其特征在于,該文件目錄項(xiàng)包含有一短文件名項(xiàng)與一相應(yīng)的長文件名項(xiàng)。
全文摘要
一種在電腦中備份和恢復(fù)文件的長文件名的方法,通過調(diào)用電腦輸入輸出系統(tǒng),自邏輯硬盤的分割區(qū)中取得文件目錄表,再將文件目錄表中的長文件名項(xiàng)與短文件名項(xiàng),對應(yīng)轉(zhuǎn)儲(chǔ)成長文件名的備份文件,而完成備份操作;然后在不支援長文件名的環(huán)境中,以備份長文件名的逆過程先搜尋每一目錄及子目錄中的短文件名,再將備份文件中相應(yīng)的長文件名寫回至原來的文件目錄表中,繞開DOS不支援長文件名的限制,而實(shí)現(xiàn)備份和恢復(fù)長文件名的目的。
文檔編號G06F17/00GK1266234SQ9910248
公開日2000年9月13日 申請日期1999年3月4日 優(yōu)先權(quán)日1999年3月4日
發(fā)明者林光信, 陳玄同, 劉軍 申請人:英業(yè)達(dá)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
灯塔市| 达日县| 丁青县| 九龙城区| 东莞市| 古田县| 同心县| 德惠市| 汉寿县| 上高县| 稷山县| 饶河县| 万安县| 望奎县| 盐山县| 乌兰浩特市| 康保县| 纳雍县| 梅河口市| 南丰县| 元朗区| 宝坻区| 图们市| 东平县| 洪江市| 濮阳市| 阳谷县| 昌江| 伊川县| 瑞丽市| 勃利县| 噶尔县| 安溪县| 永靖县| 昌平区| 朝阳区| 自贡市| 天门市| 中阳县| 湖南省| 麻栗坡县|