Создание временных файлов Word

Применимо к: Office ProductsMicrosoft Word 2010

Версию данной статьи для Microsoft Word 97 см. здесь: 89247.

Аннотация


В данной статье описывается, когда, где и как создаются временные файлы Microsoft Word для Windows.

Дополнительная информация


Определение временного файла

Временным называется файл, создаваемый для временного хранения информации с целью освобождения памяти или в качестве резервного файла во избежание потери данных во время выполнения приложением определенных функций. Word автоматически определяет, где и когда необходимо создать временные файлы. Временные файлы сохраняются только до завершения сеанса Word. При нормальном завершении работы Word все временные файлы сначала закрываются, а затем удаляются.

Почему Word создает временные файлы?

Скорость

Если для хранения в памяти документа и всех его редакций и одновременного выполнения таких операций, как сортировка, перетаскивание, прокрутка и т. п., а также работы остальных открытых приложений не хватает памяти, Word перемещает неиспользуемую часть кода или часть документа, которая в данный момент не редактируется, из памяти на диск. В результате этого перемещения во временные файлы на диске освобождается память для работы с текстом или хранения частей документа, которые в данный момент активно редактируются.

Целостность данных

Word использует временные файлы как резервные с целью защиты от системных ошибок в рамках механизма сохранения файлов. Сохраняя временный файл и затем присваивая файлу имя редактируемого документа, Word обеспечивает целостность оригинального файла в случае, если во время записи файла возникнут какие-либо проблемы (например, произойдет отключение питания или нарушение сетевого соединения).

Типы временных файлов

Файл MS-DOS

Это стандартные файлы MS-DOS.

Файл документа:

Этот файл отличается от традиционного файла MS-DOS тем, что несколько программ могут читать и записывать такие файлы без уведомления первоначального владельца. Кроме того, эти файлы имеют наследуемые свойства, позволяющие Word создавать файлы и папки внутри файлов. Во время запуска Word создает один временный (прямого доступа) файл документа с именем ~wrfxxxx.tmp. Этот документ может быть определен как файл документа, т. к. его первоначальный размер составляет 1536 байт. Этот временный файл документа используется для хранения всех объектов OLE, принадлежащих документам без имени, операций отмены, буфера обмена и документов, собственный формат которых не является форматом документа (например, TXT, RTF и документы Word 2.0). Для открытия файлов документа Word может использовать два режима: режим транзакций и прямой режим. Эти режимы будут рассмотрены далее в этой статье.

Файлы документа режима транзакций

Режим транзакций позволяет приложению Word открыть файл, произвести в него запись, в том числе с помощью других программ, например Microsoft Excel, однако при этом поддерживает восстановление файла до состояния на момент открытия файла с помощью Word.

При этом файл документа создает фантомные образы (как правило, ~dftxxxx.tmp) всех изменений, внесенных после открытия файла. Если Word сохраняет все изменения, то содержимое ~dftxxxx.tmp объединяется с исходным файлом, а затем сохраняется полная версия исходного файла. Если же Word не сохраняет изменения, то файл ~dftxxxx.tmp удаляется, а исходный файл остается без изменений. Все файлы в формате Word открываются с помощью файлов режима транзакций, создающих фантомные образы в папке Temp. Как правило, при запуске Word в режиме транзакций открывается шаблон Normal.dot, для которого создается фантомный файл с именем dftxxxx.tmp. При быстром сохранении документа происходит объединение этих двух файлов.

Прямой режим

Word использует прямой режим при открытии временного файла документа и при выполнении операции «Сохранить как» или полном сохранении документа (но не при быстром сохранении). Этот тип файлов использует (если вообще использует) небольшой объем памяти и не создает фантомных образов при создании или открытии.

Специальные файлы, создаваемые приложением Word

В приведенной ниже таблице перечислены некоторые специальные временные файлы, создаваемые приложением Word.

Files typically created when Word is started File name
------------------------------------------------------------------------
MS-DOS-based file (to reserve 4 file handles) 0 bytes ~wrf0000.tmp
MS-DOS-based scratch file 0 bytes ~mfxxxx.tmp
Compound file - transacted 0 bytes ~dftxxxx.tmp
Compound file - direct 1536 bytes ~wrf0001.tmp
(unnamed non-Word/OLE files)


Word recovery files File name
-----------------------------------------------------------------------
Temporary file for AutoRecovery ~wraxxxx.tmp
AutoRecovery AutoRecovery save of <docname>.asd

Other Word temporary files File name
-----------------------------------------------------------------------
Copy of another document ~wrcxxxx.tmp
Word document ~wrdxxxx.tmp
Temp document file ~wrfxxxx.tmp
Dictionary ~wrixxxx.tmp
Clipboard ~wrlxxxx.tmp
Macro ~wrmxxxx.tmp
Word OLE document ~wroxxxx.tmp
Scratch file ~wrsxxxx.tmp
Converted (foreign) document ~wrvxxxx.tmp

Упрощенная схема сохранения редактируемого файла


Create temp file Create ~wrdxxxx.tmp
Write temp file Save example data to ~wrdxxxx.tmp
Delete original file Delete EXAMPLE.DOC
Move temp to target name Move ~wrdxxxx.tmp to Example.doc
Помещая временный файл в ту же папку, что и сохраненный файл, Word значительно повышает свое быстродействие. Если бы временный файл помещался в какую-нибудь другую папку, то для его перемещения из одной папки в другую пришлось бы использовать команду MS-DOS COPY. Если же временный файл находится в одной папке с сохраненным, Word может использовать команду MS-DOS MOVE, чтобы быстро определить временный файл как сохраненный документ.

Когда и где создаются временные файлы Word

Местоположение временных файлов Word является запрограммированной информацией, редактирование которой не допускается. Поэтому очень важно, чтобы разрешения NTFS для пользователя были настроены соответствующим образом. Для получения дополнительной информации щелкните приведенный ниже номер статьи базы знаний Майкрософт:

277867 При запуске Word на любом из разделов с файловой системой NTFS, в котором установлена операционная система Windows 2000, Windows XP Professional, Windows Server 2003 или Windows Vista, требуются разрешения Windows NTFS.

В целом, Word создает временные файлы для данных следующих типов.

Внедренные объекты Word (папка Temp)

Когда Word используется как OLE-сервер, внедренные объекты Word сохраняются как временные файлы в папке Temp.

OLE 2.0 требует дополнительного места на диске. При запуске приложений OLE Word должен предоставить копии данных серверу. Довольно часто при активном использовании OLE 2.0 в течение одного сеанса работы программы на жестком диске накапливается большой объем временных данных.

Вспомогательный файл (папка Temp)

Когда приложению Word не хватает оперативной памяти (ОЗУ), оно всегда создает один временный вспомогательный файл в папке Temp для хранения информации. Во вспомогательный файл переносятся данные из внутреннего кэша файлов Word, выделенного из глобальной системной памяти. Размер вспомогательного файла может изменяться от 64 КБ до 3,5 МБ.

По умолчанию размер вспомогательного файла составляет 64 КБ.

Дополнительные сведения об увеличении размера кэша в Word см. в следующей статье базы знаний Майкрософт:

212242 Где хранятся параметры реестра, соответствующие настройкам Word 2000.

Записанный макрос (папка Temp)

При записи макроса Word создает временный файл в папке Windows Temp.

Преобразованные файлы (папка Temp)

Встроенные в Word конвертеры текстовых процессоров создают временные файлы в формате RTF (Rich Text Format), которые используются приложением Word для доступа к определенным конвертерам.

Заблокированные файлы (папка Temp)

Файл блокируется, когда он открыт в другом окне Word или другим пользователем в сети. При открытии заблокированного файла можно работать с его копией. Word помещает эту копию в папку Temp. Аналогично, если блокируется шаблон, прикрепленный к документу, Word автоматически создает копию этого шаблона в папке Temp. Копия блокированного файла не обновляет файл исходного владельца автоматически.

Сохраненные файлы (в одной папке с сохраненным файлом)

При выполнении команды Сохранить из меню Файл происходит следующее:
  1. Word создает новый временный файл, используя редактируемую версию документа.
  2. После создания временного файла Word удаляет предыдущую версию документа.
  3. Word присваивает временному файлу имя предыдущей версии документа.
Текст, копируемый из одного файла в другой (в одной папке с исходным файлом):


При копировании текста из одного документа в другой Word может создавать временный файл в одной папке с исходным файлом. Особенно это относится к сохранению или закрытию исходного файла. Временный файл содержит данные, к которым буфер обмена обращался перед сохранением файла. При этом Word присваивает старой копии файла имя временного файла.

Файл владельца (в одной папке с исходным файлом)

При открытии сохраненного ранее файла для редактирования, печати или просмотра Word создает временный файл с расширением .doc. Имя этого файла начинается с тильды (~), за которой идет знак доллара ($) и оставшаяся часть имени исходного файла. Этот временный файл сохраняет имя пользователя, который открыл файл. Этот временный файл называется «файл владельца».

При попытке открыть файл, доступный в сети и уже открытый другим пользователем, этот файл предоставляет имя пользователя для следующего сообщения об ошибке:
Этот файл уже открыт пользователем имя пользователя. Создать копию файла?
В некоторых случаях Word не может создать файл владельца. Например, Word не может создать файл владельца, если документ доступен только для чтения. В этом случае сообщение об ошибке будет следующим:
Этот файл уже открыт другим пользователем. Создать копию файла?
Примечание. Word автоматически удаляет этот временный файл из памяти при закрытии оригинального файла.

При открытии файла с использованием протоколов HTTP или FTP файл сначала копируется в каталог временных файлов. Затем файл открывается из каталога временных файлов.

При открытии файла на UNC совместно с Word 2007 файл сначала копируется в папку временных файлов. Затем файл открывается из каталога временных файлов.

Автоматическое сохранение

Папка автоматического восстановления сохраненных файлов Word

Временный файл, создаваемый Word при выполнении автоматического сохранения, помещается в папку временных файлов Temp, кроме случаев, когда соответствующая папка отсутствует. В этом случае временный файл сохраняется в одной папке с исходным документом.

Местонахождение временных файлов после закрытия файла

Иногда Word может сохранить ссылку на файл после его закрытия. В частности, это происходит, если текст из файла был скопирован в буфер обмена. При закрытии файла Word пытается выполнить следующие действия:
  • Если в буфер обмена скопировано небольшое выделение, не содержащее нескольких фрагментов или рисунка, Word копирует часть документа во вспомогательный файл.
  • Если выделение, скопированное в буфер обмена, содержит несколько фрагментов или рисунок, или файл находится на дискете, Word копирует файл целиком в папку Temp и перемещает туда курсор.