Для чего необходимо расширение файла для увеличения объема

Обновлено: 07.07.2024

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

Например, файл с именем «awesome_picture.jpg» имеет расширение «jpg». Например, когда вы открываете этот документ в Windows, операционная система ищет любое приложение, связанное с JPG, открывает это приложение и загружает файл. А расширение .m4r применяется для рингтонов, которые можно скачать (бесплатно)

Какие существуют типы расширений?

Существует много разных типов расширений файлов - слишком много, чтобы их можно было перечислить в одной статье, но вот несколько примеров общих расширений файлов, которые вы можете увидеть на своем компьютере:

DOC / DOCX: документ Microsoft Word. DOC был оригинальным расширением, используемым для документов Word, но Microsoft изменила формат, когда дебютировал Word 2007. Документы Word теперь основаны на формате XML, поэтому добавление «X» в конец расширения.

XLS / XLSX: - Электронная таблица Microsoft Excel.

PNG: Portable Network Graphics, формат изображения без потерь.

HTM / HTML: формат разметки HyperText для создания веб-страниц в Интернете.

PDF: Формат переносимого документа, созданный Adobe и используемый для поддержки форматирования в распределенных документах.

EXE: исполняемый формат, используемый для программ, которые вы можете запустить.

И, как мы уже говорили, это просто небольшое количество расширений файлов. Существует их, буквально тысячи.

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

Не открывайте файлы, если они получены из ненадежного источника.

Под спойлером найдешь 50+ расширений файлов, которые потенциально опасны для Windows

.EXE - исполняемый файл программы. Большинство приложений, работающих в Windows, являются .exe-файлами.

.PIF - файл информации о программе для программ MS-DOS. Хотя файлы .PIF не должны содержать исполняемый код, Windows будет обрабатывать файлы .PIF так же, как файлы .EXE, если они содержат исполняемый код.

.APPLICATION - Установщик приложений, развернутый с использованием технологии ClickOnce от Microsoft.

.GADGET - файл гаджета для технологии гаджета для настольных компьютеров Windows, представленный в Windows Vista.

.MSI - файл установки Microsoft. Они устанавливают другие приложения на ваш компьютер, хотя приложения также могут быть установлены файлами .exe.

.MSP - Файл исправления установщика Windows. Используется для исправления приложений, развернутых в файлах .MSI.

.SCR - Экранная заставка Windows. Заставки Windows могут содержать исполняемый код.

.HTA - приложение HTML. В отличие от HTML-приложений, запущенных в браузерах, файлы .HTA запускаются как надежные приложения без песочницы.

.CPL - Файл панели управления. Все утилиты, найденные в панели управления Windows, являются файлами .CPL.

.MSC - файл консоли Microsoft Management Console. Такие приложения, как редактор групповой политики и средство управления дисками, являются .MSC-файлами.

.JAR - .JAR-файлы содержат исполняемый код Java. Если у вас установлена среда выполнения Java , файлы .JAR будут запускаться как программы.

.BAT - пакетный файл. Содержит список команд, которые будут запускаться на вашем компьютере, если вы откроете его. Первоначально использовался MS-DOS.

.CMD - командный файл. Подобно .BAT, но это расширение файла было введено в Windows NT.

.VB , .VBS - файл VBScript. Выполняет свой включенный код VBScript, если вы запустите его.

.VBE - Зашифрованный файл VBScript. Подобно файлу VBScript, но не легко определить, что будет делать файл, если вы запустите его.

.JS - Файл JavaScript. .JS обычно используются веб-страницами и безопасны при запуске в веб-браузерах. Однако Windows будет запускать файлы .JS за пределами браузера без песочницы.

.JSE - Зашифрованный файл JavaScript.

.WS , .WSF - Файл сценария Windows.

.WSC , .WSH - файлы сценариев Windows Script и Windows Script Host. Используется вместе с файлами сценариев Windows.

.PS1 , .PS1XML , .PS2 , .PS2XML , .PSC1 , .PSC2 - сценарий Windows PowerShell . Выполняет команды PowerShell в порядке, указанном в файле.

.MSH , .MSH1 , .MSH2 , .MSHXML , .MSH1XML , .MSH2XML - Файл сценария Monad. Монада позже переименовали в PowerShell.

.SCF - Командный файл Windows Explorer. Может передавать потенциально опасные команды в Проводник Windows.

.LNK - ссылка на программу на вашем компьютере. Файл ссылки может потенциально содержать атрибуты командной строки, которые делают опасные вещи, например удаление файлов без запроса.

.INF - текстовый файл, используемый AutoRun. В случае запуска этот файл может потенциально запускать опасные приложения, с которыми он поставляется, или передавать опасные опции программам, входящим в состав Windows.

Другие .REG - Файл реестра Windows. .REG-файлы содержат список записей реестра, которые будут добавлены или удалены, если вы запустите их. Вредоносный .REG-файл может удалить важную информацию из вашего реестра, заменить ее на нежелательные данные или добавить вредоносные данные.

Макросы Office

.DOC , .XLS , .PPT - документы Microsoft Word, Excel и PowerPoint. Они могут содержать вредоносный код макроса.

.DOCM , .DOTM , .XLSM , .XLTM , .XLAM , .PPTM , .POTM , .PPAM , .PPSM , .SLDM. Новые расширения файлов, представленные в Office 2007. M в конце расширения файла указывает, что документ содержит макросы. Например, файл .DOCX не содержит макросов, а файл .DOCM может содержать макросы.

Это не исчерпывающий список. Существуют и другие типы расширений файлов - например .PDF - которые имеют ряд проблем безопасности. Однако для большинства типов файлов выше их нет. Они существуют для запуска произвольного кода или команд на вашем компьютере.

Что делать, если я не вижу расширения файлов на компьютере?

По умолчанию Windows показывает расширения файлов. Некоторое время - в Windows 7, 8 и даже 10 - это было неверно, но, к счастью, они изменили настройки по умолчанию.

Мы говорим, что показ расширений файлов не только полезен, но и более безопасен. Без показа расширений трудно определить, является ли этот файл PDF, который вы смотрите (например), действительно файлом PDF, а не каким-то вредоносным исполняемым сюжетом.

Если расширения файлов не отображаются в Windows, достаточно легко вернуть эту информацию. В любом окне проводника файлов просто выберите «Просмотр»⯮ «Параметры»⯮ «Изменить папку» и параметры поиска.

изменение параметров

снимок экрана, как управлять видимостью расширений файлов в Windows

В окне «Параметры папки» на вкладке «Вид» установите флажок «Скрыть расширения для известных типов файлов».

В macOS расширения файлов не отображаются по умолчанию. Причина этого заключается в том, что macOS на самом деле не использует расширения так, как это делает Windows (и об этом мы поговорим больше в следующем разделе).

Однако вы можете делать расширения файлов MacOS и это, вероятно, не так уж плохо. Открыв Finder, просто перейдите в Finder⯮ Preferences⯮ Advanced, а затем включите флажок «Показать все расширения файлов».

Показать все расширения файлов MacOS

Как MacOS и Linux используют расширения файлов?

Итак, мы говорили о том, как Windows использует расширения файлов, чтобы узнать, с каким типом файлов он имеет дело, и какое приложение использовать при открытии файла.

Windows знает, что файл с именем readme.txt является текстовым файлом из-за этого расширения TXT-файла, и он знает, как открыть его с помощью текстового редактора по умолчанию. Удалите это расширение, и Windows больше не будет знать, что делать с файлом.

Хотя MacOS и Linux по-прежнему используют расширения файлов, они не полагаются на них, как Windows. Вместо этого они используют что-то типа MIME и коды создателей, чтобы определить, что такое файл. Эта информация хранится в заголовке файла, и как macOS, так и Linux используют эту информацию для определения того, с каким типом файлов они имеют дело.

Поскольку расширения файлов на самом деле не требуются в macOS или Linux, вы вполне можете иметь действительный файл без расширения, но ОС все равно может открыть файл с помощью правильной программы из-за информации о файле, содержащейся в заголовке файла.

Что произойдет, если я изменю расширение файла?

Основываясь на том, о чем мы только что говорили в предыдущем разделе, что произойдет когда вы меняете расширение своего файла, зависит от того, какую операционную систему вы используете.

В этом примере Блокнот (или любой другой текстовый редактор по умолчанию) открыл наш файл «coolpic.txt», но это всего лишь искаженный беспорядочный текст.

бесполезный файл

По этой причине Windows предупреждает вас, когда вы пытаетесь изменить расширение файла, и вы должны подтвердить действие.

изменить расширение файла

Если вы используете macOS, происходит нечто подобное. Если вы попытаетесь изменить расширение файла, вы получите предупреждение.

предупреждение в macOS

В отличие от Windows, если вы пытаетесь удалить расширение файла в macOS (по крайней мере, в Finder), macOS просто добавляет одно и то же расширение назад, используя данные из типа MIME файла.

Если вы действительно хотите изменить тип файла - например, вы хотели бы изменить изображение из формата JPG в PNG - вам нужно будет использовать программное обеспечение, которое может фактически преобразовать файл.

Как изменить программу, открывающую файл

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

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

Например, на изображении ниже вы можете увидеть, что у нас есть несколько приложений для изображений в нашей системе Windows, которые могут открыть файл «coolpic.jpg», который мы щелкнули правой кнопкой мыши.

несколько приложений

Тем не менее, есть также приложение по умолчанию, связанное с каждым расширением. Это приложение открывается при двойном щелчке по файлу, а в Windows это приложение, которое появляется в верхней части списка, которое вы получаете, когда вы щелкаете правой кнопкой мыши файл (на изображении выше).

И вы можете изменить это приложение по умолчанию. Просто выберите «Параметры»⯮ «Приложения»⯮ «Приложения по умолчанию»⯮ «Выбрать приложения по умолчанию по типу файла». Прокрутите список (очень длинный) типов файлов, чтобы найти тот, который вы хотите, а затем щелкните связанное с ним приложение справа, чтобы изменить его.

изменить приложения по умолчанию

И вы можете сделать то же самое в macOS. Просто выберите файл типа, который вы хотите изменить, и выберите «Файл»> «Получить информацию» в главном меню. В появившемся окне «Информация» перейдите в раздел «Открыть с», а затем в раскрывающемся меню выберите новое приложение. Достаточно легко.

Расширение — это суффикс в конце компьютерного файла. Он начинается после точки и обычно состоит из двух — четырех символов. Если вы когда-либо открывали документ или просматривали изображение, вы, вероятно, заметили эти буквы в конце вашего файла. Расширения файлов используются операционной системой для определения того, какие приложения связаны с какими типами файлов, другими словами, какое приложение открывается после двойного клика мыши. Пример: файл «Российская Федерация.jpg» имеет расширение «jpg». Вы открываете этот файл в Windows, операционная система ищет приложение, связанное с файлами JPG, открывает это приложение и загружает файл.

Какие существуют типы расширений ?

Существует тысячи типов расширений и перечислять все нет смысла. Мы приведем пример самых распространенных с которыми вы наверняка встречались на своем ПК.

  • DOC / DOCX: документ Microsoft Word. DOC был исходным расширением, для документов Word, но в 2007 году Microsoft изменила формат. Документы Word теперь основаны на формате XML, поэтому в конце расширения добавляется «X».
  • XLS / XLSX: - электронная таблица Microsoft Excel.
  • PNG: Portable Network Graphics, формат файла изображения без потерь.
  • HTM / HTML: формат языка разметки гипертекста для создания веб-страниц в Интернете.
  • PDF: формат документа, созданный компанией Adobe и используемый для поддержки форматирования в документах.
  • EXE: исполняемый формат, используемый программами, которые вы можете запустить.

Я не вижу расширение файлов. Что делать?

По умолчанию Windows показывает расширения файлов. Сначала в Windows 7, 8 и даже 10 — это было не так, но, к счастью, они изменили настройки по умолчанию. К счастью, потому, что так более безопасно. Без отображения расширений файлов трудно определить, является ли тот PDF-файл, который вы просматриваете, действительно PDF-файлом, а не замаскированным вирусом.

И таких файлов больше чем вы думаете. Не верите? А вы посмотрите сюда! И не говорите, что мы не предупреждали.

Если вы не видите расширений, их достаточно просто включить.

Способ для Windows 7:

Способ для Windows 10:

Все гораздо проще. Открываем «Этот компьютер» , выбираем вкладку «Вид» и ставим флажок на «Расширение имен файлов» .

Расширения файлов не отображаются в macOS по умолчанию. Причина в том, что macOS на самом деле использует расширения не так, как Windows.

Способ для macOS:

Откройте «Настройки Finder» > «Установки»> «Дополнения» и установите флажок «Показать все расширения имени файлов».

Как macOS и Linux используют расширения файлов?

Итак, мы поговорили о том, как Windows использует расширения файлов, чтобы знать, с каким типом файла он имеет дело, и какое приложение использовать при открытии файла. Windows знает, что файл с именем readme.txt является текстовым файлом из-за этого расширения TXT, и знает, как открыть его в текстовом редакторе по умолчанию. Удалите это расширение, и Windows больше не будет знать, что делать с файлом.

Хотя macOS и Linux по — прежнему используют расширения файлов, они не полагаются на них, как в Windows. Вместо этого они используют MIME, чтобы определить, что это за файл. Эта информация хранится в заголовке файла, и macOS и Linux используют ее, чтобы определить, с каким типом файла они имеют дело. Поскольку расширения файлов не требуются в macOS или Linux, файл может быть без расширения.

Что произойдет, если я изменю расширение файла?

Если вы используете macOS, происходит нечто подобное.

В случае с macOS произойдет все то же самое, что и с Windows. Разница в том, что если вы пытаетесь удалить расширение файла в macOS (по крайней мере, в Finder), расширение добавится автоматически, используя данные из MIME файла.

Если вы хотите изменить тип файла (например из JPG в PNG), вам необходимо использовать специальный конвертер.

Как изменить программу, которая открывает файл?

Всякий раз, когда вы устанавливаете приложение, которое может открыть файл определенного типа, это приложение и расширение файла регистрируются в вашей ОС. Может быть несколько приложений, которые открывают один и тот же тип файла. Вы можете запустить приложение, а затем загрузить в него любой поддерживаемый тип файла. Или кликните правой кнопкой мыши на файле, выбрать «Открыть с помощью» и выбрать нужное приложение. На изображении ниже вы можете видеть несколько графических приложений, которые могут открыть файл «Российская Федерация.jpg».

Также вы можете изменить приложение по умолчанию. Просто зайдите в «Настройки»> «Приложения» > «Приложения по умолчанию» > Выберите приложение для нужного файла. Прокрутите список типов файлов, чтобы найти тот, который вам нужен, и затем щелкните по связанному в настоящее время приложению справа, чтобы изменить его. В Windows 10 это можно сделать при первом запуске файла.

В macOS все то же самое. Просто выберите файл того типа, который вы хотите изменить, и затем выберите в главном меню «Файл» > «Информация» . Во всплывшем окне перейдите в раздел «Открыть с помощью» и выберите новое приложение.

В этом уроке я расскажу, что такое расширение и какие бывают типы файлов в Windows. А в конце дам таблицу наиболее популярных форматов с подробным описанием.

Что такое формат и расширение

Формат или тип — это информация о файле, по которой система понимает, какого он вида и в какой программе его открыть. Для этого у каждого файла есть расширение .

Расширение — это несколько английских букв и/или цифр. Находятся они сразу после названия и разделяются точкой.


На картинке показан файл с расширением mp3. Про него компьютер знает, что это аудио и открывать его нужно в программе-проигрывателе. Значок, которым он отмечен – это иконка программы запуска.

Есть текстовые файлы - они открываются в программе для работы с текстом. Есть музыкальные и видео - они запускаются в проигрывателях. Есть графические (фото, картинки) – они открываются в программах для просмотра изображений. И еще много других типов. У каждого из них свой значок, точнее, значок приложения, в котором он будет открыт.


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


При его открытии появится окно с выбором приложения. Компьютер предлагает пользователю самостоятельно указать программу для запуска.


На заметку . В Windows есть разнообразные системные иконки:


Как правило, такими значками отмечены файлы, которые нужны для корректной работы компьютера. Их много в системном локальном диске. Такие объекты нельзя удалять или переименовывать, иначе приложения, за которые они отвечают, могут работать со сбоями.

Как узнать расширение

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


Или наоборот: так, что показаны только имена, без форматов.


Эту настройку можно изменить.

В Windows 10 открыть любую папку, нажать на пункт «Вид» вверху и поставить или убрать птичку с пункта «Расширения имен файлов».


В Windows 7 чуть сложнее:

Или так: Пуск → Панель управления → Оформление и персонализация → Параметры папок.



Если расширения нет

Если у объекта нет расширения, компьютер не может подобрать программу для его запуска. Это происходит, когда пользователь случайно или намеренно удаляет расширение из имени. А еще может быть из-за вируса.


Решить эту проблему легко, если знаешь тип объекта. Например, знаешь, что это фотография. Тогда нужно просто переименовать файл, добавить после названия точку и указать формат. Вот как это сделать:

  1. Настроить компьютер на показ расширений (см. выше).
  2. Правой кнопкой мыши по файлу – Переименовать.
  3. Сразу после названия напечатать точку и расширение.
  4. Нажать Enter.


Наиболее популярные форматы:

  • Документы – doc, docx или pdf
  • Таблицы – xls, xlsx
  • Архивы – zip или rar
  • Фотографии – jpg или png
  • Музыка – mp3 или wav
  • Видео – mp4 или avi

Другие типы можно посмотреть в конце урока в таблице.

Если формат неизвестен . Чтобы открыть файл, необязательно вручную прописывать расширение. Можно просто запустить его и в окошке выбрать подходящую программу. Если вы правильно ее укажите, объект откроется.

Или щелкните по нему правой кнопкой мыши, выберите «Открыть с помощью…». Или «Открыть с помощью» → «Выбрать другое приложение».

Как изменить расширение

Изменить расширение можно через переименование:

  1. Настроить компьютер на показ расширений (см. выше).
  2. Щелкнуть правой кнопкой мыши по файлу – Переименовать.
  3. Стереть старое расширение после точки и напечатать новое.
  4. Нажать Enter.


Появится окошко, в котором система предупредит о последствиях. Ведь если вы неправильно укажите формат, файл может не открыться. Например, у вас документ с расширением doc, а вы меняете его на pdf.


После нажатия на кнопку «Да» новый тип будет назначен. А также добавится значок программы для его запуска. Но обычно после такой ручной смены расширения файл перестает открываться. Потому что он технически остался тем же, что и был.

Вернуть старое расширение можно таким же образом – через переименование. Или щелкнув правой кнопкой мыши по пустому месту и выбрав пункт «Отменить переименование».


Так как же правильно изменить расширение? Для этого нужно сделать конвертацию – преобразование в другой формат. Это делается через специальные программы или онлайн-сервисы.

Вбиваем в поисковик Яндекс или Гугл запрос «из … в …». Например, из word в pdf .


В моем случае Яндекс предложил несколько онлайн сервисов. Все они интуитивно понятны: загружаем документ на сайт → сервис преобразовывает его в pdf → скачиваем результат на компьютер.

Но в некоторых случаях лучше использовать программу. Например, если нужно конвертировать видео большого размера.

Как назначить программу запуска

Каждому типу файла система назначает приложение для его запуска. И помечает иконкой этой программы. Например, текстовые (txt) будут по умолчанию открыты в Блокноте. А музыкальные (mp3) – в проигрывателе Windows Media.


Когда вместо значка показан белый лист, значит, система не понимает, в какой программе открыть объект. И при его запуске предлагает самостоятельно выбрать приложение из тех, что установлены на компьютере.

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


Но не всегда нужная программа установлена на компьютере. Бывает, ее просто нет - тогда файл открыть никак не получится. В этом случае нужно установить подходящее приложение.

Для каждого популярного формата есть своя бесплатная программа:

  • PDF – Foxit Reader (оф.сайт)
  • ZIP и RAR – 7-Zip (оф.сайт)
  • DOC, DOCX, XLS, XLSX и другие документы MS Office – OpenOffice (оф.сайт)
  • MP3, MP4, MKV и другие аудио/видео – Media Player Classic (оф.сайт)

Другие форматы и программы для них смотрите в таблице.

На заметку . Также белый лист вместо значка приложения показывается на файлах, у которых нет расширения. Об этом я рассказывал выше в статье.

Выбор программы по умолчанию

А бывает, объекты определенного типа открываются в неподходящей программе. Тогда можно указать другое приложение для их запуска.

1 . Щелкните правой кнопкой мыши по файлу. Выберите «Открыть с помощью…» или «Открыть с помощью» → «Выбрать другое приложение».


2 . В окошке кликните левой кнопкой мыши по нужной программе и поставьте птичку на пункт «Всегда использовать это приложение». Нажмите ОК.


Вот и всё – теперь объекты данного формата будут по умолчанию запускаться в назначенной программе.

Прежде всего скажем, что речь здесь пойдет о файловых системах FAT и NTFS, как наиболее распространенных, и ничего не будет сказано о файловых системах, используемых в не-Windows системах, поскольку такие системы лежат вне сферы интересов автора. А теперь – к делу.

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


Проведите эксперимент. Возьмите любой исполняемый файл и выполните его копирование командой
copy что-то.exe что-то-другое.exe
Если вы раньше с этим сталкивались, то уже знаете, что результирующий файл получится намного короче исходного и не будет копией. Причина простая: программа copy, запущенная без параметра /b, копирует файл до тех пор, пока не встретит байт с кодом 27h, этот символ называется «конец файла».

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


В файловых системах, использующих кластеры, а FAT и NTFS относятся именно к таким ФС, есть еще третий размер – размер файла на диске, то есть суммарный размер кластеров, отведенных этому файлу. В файловых системах FAT этот размер больше размера собственно файла или равен ему. Разница между размерами, если она есть, – так называемый хвост файла – это напрасно пропадающее место на диске, плата за размещение файлов по кластерам, а не встык друг за другом, хотя файловые системы с таким размещением файлов тоже существуют.

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


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

Максимальный размер такого файла зависит от размера записи и составляет примерно 600 байтов для записи мелкого размера (1 Кб) и 3600 – для записи крупного размера (4 Кб). Следует, впрочем, отметить, что до недавнего времени Windows показывала размер такого файла на диске равным одному кластеру, хотя фактически ни одного кластера файлу не выделено.

Если файл сжат, то его размер на диске может быть заметно меньше собственно длины файла (количества данных в нем).

Дополнительно усложняют картину так называемые разреженные файлы. В них полезные данные содержаться только в определенных участках файла, а остальная часть файла не используется вовсе. Возьмем в качестве примера файл журнала изменений \$Extend\$UsnJrnl, имеющийся почти на каждом компьютере (не пытайтесь увидеть его в проводнике или других диспетчерах файлов, не получится).

Он может иметь длину несколько гигабайт, но значимых данных содержит при этом обычно только 32 мегабайта в самом конце. А остальная часть вообще никаких данных не содержит, места на диске не занимает, и при попытке прочитать данные из этой части система выдаст набор нулей, даже не обращаясь к диску.
Если у читателя возникнет желание поэкспериментировать с разреженными файлами, такой файл можно создать с помощью команды fsutil sparse. А на досуге можно обдумать, какова же настоящая длина файла, если система записала в соответствующую графу число 4 Гб, а реальных данных в файле только 32 Мб и на диске он занимает тоже 32 Мб.

И, наконец, расскажем еще об одной длине: длине действительных данных (valid data). Эта длина и устанавливающие ее функции представляют интерес почти исключительно для программистов, тем не менее изредка с ней могут столкнуться и обычные пользователи.

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

Попробуем пояснить, о чем идет речь, на примере. Возьмите флешку (флешка используется для наглядности, поскольку она медленнее жесткого диска работает с большими объемами данных) размером от гигабайта, отформатированную в FAT32, и создайте на ней большой файл командой
fsutil file createnew k:\пробный.txt 900000000

Теперь отформатируйте флешку в NTFS, для чистоты эксперимента лучше взять ту же самую, и повторите создание файла. На этот раз операция пройдет практически моментально. Записывать нули в тело файла уже не надо, достаточно распределить место под файл и установить для него длину действительных данных равной нулю. В теле файла останется «мусор», который был записан в этих секторах, но при чтении данных обращения к этим данным не произойдет – обнаружив, что длина действительных данных равна нулю, все, что дальше этого нуля, система читать не станет – ведь эти данные недействительны. Их можно сделать действительными, если изменить значение длины действительных данных.


Рассмотрим это на примере. Создайте новый файл на одном из рабочих дисков, отформатированном в NTFS. Сотни мегабайт совершенно не обязательны, десятка-другого килобайт будет вполне достаточно:
fsutil file createnew C:\пробный.txt 10000

Теперь откройте его с помощью любого просмотрщика файлов, например FAR.

Как видим, в файле действительно нули. Но если посмотреть на этот файл с помощью какого-либо редактора дисков, обращающегося к секторам напрямую, например dmde, то картина будет другая.

Если мы откроем том С как логическое устройство и посмотрим на содержимое файла, то увидим те же самые нули.

Но если открыть диск как физическое устройство, то в том же самом секторе (обратите внимание на номера LBA – разница в 63 возникла из-за того, что начало раздела сдвинуто относительно начала диска) увидим данные, которые ранее были записаны в какой-то позже удаленный файл.

И если мы увеличим длину действительных данных, то увидим эти данные в файле. Установим эту длину равной 300 байт:

fsutil file setvaliddata C:\пробный.txt 300

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


Теперь снова посмотри на содержимое файла. Заметьте, что никаких данных мы в него не записывали!

Чисто случайно получилось, что в этом файле довольно много осмысленного текста, что делает картину более наглядной. 300 десятичных байтов – это 12c шестнадцатиричных, и как раз на этом байте обрывается текст и начинаются нули. Если сдвинуть границу действительных данных еще дальше, то «проявятся» и следующие строки.

Подведем итоги


Имеется две физических длины файла – это размер файла, записанный в файловой системе и место, занимаемое на диске. Также имеется две логических длины файла – это признак конца файла (байт EOF – 27h) и длина действительных данных. Как составную часть логической длины можно рассматривать и пустые области в разреженных файлах – вспомните \$Extend\$UsnJrnl, где большой массив отсутствующих данных завершается тридцатью двумя мегабайтами действительных.

Итак, обычно, когда говорят о длине файла, имеют в виду число, хранящееся в файловой системе. Но, как видите, возможны варианты!

Читайте также: