臨時文件的定義
臨時文件是為暫時存儲信息而創建的文件,這樣可以釋放內存以用於其他目的,或者在程序執行某些功能時充當安全網路以防止數據丟失。例如,Word 自動確定其需要創建臨時文件的位置和時間。臨時文件僅在當前 Word 會話中存在。當 Word 以正常方式關閉時,將首先關閉所有臨時文件,然後刪除這些文件。
Word 為什麼創建臨時文件?
速度:
如果沒有足夠的可用內存來保存文檔及其所有編輯,並且在某些其他應用程序運行的同時仍在快速執行一些操作(例如,排序、拖動、滾動等),則 Word 會將未被使用的部分代碼或未被編輯的部分文檔從內存移到磁碟中。將臨時文件移到磁碟的這種做法可釋放更多的內存,以便用於文本操作或存儲目前正在被編輯的文檔部分。
數據完整性:
Word 將臨時文件用作「安全網路」,以防止其文件保存方案中出現系統錯誤。通過首先保存到臨時文件,然後使用適當的名稱重命名此文件,Word 可確保原始文件的數據完整性,以預防寫入文件時發生的問題(例如,電源故障或網路連接中斷)。
臨時文件的類型
基於 MS-DOS 的文件:
這些文件是標準的 MS-DOS 文件。
基於文檔文件的文件:
此文件與傳統的 MS-DOS 文件的區別是:多個程序可以在原始所有者不知情的情況下讀取和寫入這些文件。此外,文檔文件具有允許 Word 在文件中創建文件和目錄的固有屬性。啟動時,Word 創建一個名為 ~wrfxxxx.tmp 的臨時(直接)文檔文件。由於此文件的原始大小為 1,536 位元組,因此可以確定它是文檔文件。此臨時文檔文件用於存儲屬於未命名文檔的所有 OLE 對象、撤消、剪貼板以及本機格式而非文檔格式(例如,.txt、.rtf 和 Word 2.0 文檔)的文檔。Word 可以使用兩種不同的模式打開文檔文件:事務和直接。這兩種模式將在下文討論。
事務文檔文件:
事務文件允許 Word 打開和寫入文件,並且可讓其他程序(例如,Microsoft Excel)寫入此文件,但仍保留將文件還原為 Word 首次打開時的狀態的權利。
為做到這一點,該文檔文件為打開文件後對該文件所作的全部更改創建幻影映像(通常為 ~dftxxxx.tmp);如果 Word 保存所有的更改,~dftxxxx.tmp 的內容將與原始文件合並,然後保存此文件的完整版本。相反,如果 Word 放棄所有更改,則會刪除 ~dftxxxx.tmp,且原始文件不會更改。Word 使用事務文件打開所有的 Word 本機文件,這些文件在 Temp 目錄中創建幻影映像。當啟動 Word 時,Normal.dot 通常以事務模式打開,並為其創建名為 dftxxxx.tmp 的幻影文件,例如,在進行保存時,FastSave 將合並這兩個文件。
直接:
在打開臨時文檔文件以及在執行「另存為」或「完全保存」(非快速保存)時,Word 使用直接存儲。此類文件消耗內存較少(如果有),並且在創建或打開此類文件時也不會創建幻影映像。
Word 創建的特定文件
下表列出了 Word 創建的一些特定臨時文件。啟動 Word 時通常創建的文件 文件名
---------------------------------------------------------------------
基於 MS-DOS 的文件(保留 4 個文件句柄) 0 位元組 ~wrf0000.tmp
基於 MS-DOS 的暫存文件 0 位元組 ~mfxxxx.tmp
復合文件 — 事務 0 位元組 ~dftxxxx.tmp
復合文件 — 直接 1536 位元組 ~wrf0001.tmp
(未命名的非 Word/OLE 文件)
Word 恢復文件 文件名
---------------------------------------------------------------------
用於自動恢復的臨時文件 ~wraxxxx.tmp
自動恢復 <docname>.asd 的自動恢復保存
其他 Word 臨時文件 文件名
---------------------------------------------------------------------
另一文檔的副本 ~wrcxxxx.tmp
Word 文檔 ~wrdxxxx.tmp
臨時文檔文件 ~wrfxxxx.tmp
字典 ~wrixxxx.tmp
剪貼板 ~wrlxxxx.tmp
宏 ~wrmxxxx.tmp
Word OLE 文檔 ~wroxxxx.tmp
暫存文件 ~wrsxxxx.tmp
轉換的(外部)文檔 ~wrvxxxx.tmp
用於保存已編輯文件的方案的簡單說明
創建臨時文件 創建 ~wrdxxxx.tmp
寫入臨時文件 將示例數據保存到 ~wrdxxxx.tmp
刪除原始文件 刪除 EXAMPLE.DOC
將臨時文件移動到目標名稱 將 ~wrdxxxx.tmp 移動到 Example.doc
通過將此臨時文件放在與保存的文件相同的目錄中,Word 的運行速度將明顯加快。如果 Word 將此臨時文件放在其他位置,則必須使用 MS-DOS 的 COPY 命令,將臨時文件從其他目錄移動到保存的位置。通過將臨時文件保留在與保存的文檔文件相同的目錄中,Word 可以使用 MS-DOS 的 MOVE 命令快速地將臨時文件指定為保存的文檔。
回到頂端
Word 創建臨時文件的時間和位置
Word 創建臨時文件的位置是硬編碼信息,無法進行編輯。通常,Word 為以下類型的數據創建臨時文件。
嵌入式 Word 對象(Temp 目錄):
當 Word 充當 OLE 伺服器程序時,嵌入式 Word 對象將被存儲為 Temp 目錄中的臨時文件。
OLE 2.0 需要額外的驅動器存儲。當啟動 OLE 程序時,Word 需要向伺服器提供數據的副本。通常情況下,在程序的單個會話中過多地使用 OLE 2.0 會在硬碟驅動器上集聚大量的臨時存儲。
暫存文件(Temp 目錄):
當 Word 耗盡內部的隨機存取內存 (RAM) 時,它總是會在 Temp 目錄中創建單個臨時的暫存文件以保存信息。此暫存文件包含從 Word 內部文件緩存交換的信息,該緩存是從全局系統內存中分配的。暫存文件的大小從 64 KB 到 3.5 MB 不等。
在 Word 中,默認緩存的大小為 64 KB。
有關在 Word 中增加緩存大小的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
212242 (http://support.microsoft.com/kb/212242/) 注冊表中存儲設置的位置
錄制的宏(Temp 目錄):
當錄制宏時,Word 將在 Windows 的 Temp 目錄中創建一個臨時文件。
轉換的文件(Temp 目錄):
Word 附帶的字處理器轉換器將創建 RTF 格式的臨時文件,Word 使用這些文件訪問特定的轉換器。
鎖定的文件(Temp 目錄):
當打開鎖定的文件時(由於此文件已在另一個 Word 窗口中打開,或者網路上的另一用戶已經打開此文件),您可以使用此文件的副本。Word 將此副本放在 Windows 的 Temp 目錄中。同樣地,如果附加到文檔的模板被鎖定,Word 將自動在 Temp 目錄中生成此模板的副本。鎖定文件的副本不會自動更新原始所有者的文件。
保存的文件(與保存的文件目錄相同):
當單擊文件菜單上的保存時,會出現以下情形: 1. Word 使用此文檔的已編輯版本創建一個新的臨時文件。
2. Word 創建此臨時文件後,將刪除此文檔的以前版本。
3. Word 將此臨時文件重命名為與此文檔以前版本相同的名稱。
在文件之間粘貼的文本(與源文件的目錄相同):
當 Word 在文檔之間進行復制和粘貼時,它可能會在與源文件相同的目錄中創建一個臨時文件,特別是在源文件已保存或關閉的情況下。臨時文件提供保存文件之前由剪貼板引用的信息。Word 通過將文件的舊副本重命名為臨時文件名稱來創建此臨時文件。
所有者文件(與源文件的目錄相同):
當打開以前保存的文件進行編輯、列印或預覽時,Word 創建文件擴展名為 .doc 的臨時文件,其開頭為波形符「~」,後面是美元符號「$」,然後是原始文件名的其餘部分。此臨時文件保存打開文件的人的登錄名,並稱為「所有者文件」。
當嘗試打開網路上可用且已由他人打開的文件時,此文件提供以下 <user name> 錯誤信息:
This file is already opened by <user name>.Would you like to make a of this file for your use?
如果所有者文件損壞或丟失,錯誤信息將更改為:
This file is already opened by another user.Would you like to make a of this file for your use?
注意:當原始文件從內存中關閉時,Word 將自動刪除此臨時文件。
自動保存:
Word 自動恢復保存目錄:
在 Word 執行自動保存時創建的臨時文件存儲在 Temp 文件夾中,如果不存在有效的 Temp 文件夾;則 Word 將此臨時文件保存在與保存文檔相同的文件夾中。
關閉文件時臨時文件的位置
在關閉文件後,Word 有時可能必須保持與此文件的鏈接。文本已從文件復制到剪貼板時,就會發生此情況。關閉文件時,Word 會嘗試以下操作: • 如果復制到剪貼板的選定部分不包含多個部分或圖片,或者選定部分不大,Word 會將文檔的片段復制到暫存文件。
• 如果復制的選定部分包括圖片或多個部分,或者文件在軟盤上,Word 會將整個文件復制到 Temp 目錄,並將指針移動到該目錄中。