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

Процесс компрессии и декомпрессии

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

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

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

Используем оболочку

Сжатие Проще всего сжать объект операционной системы при помощи его диалога PROPERTIES.

Чтобы сжать целый раздел диска, нужно отобразить диалог PROPERTIES и на вкладке GENERAL установить флажок COMPRESS THIS DRIVE TO SAVE DISK SPACE. После этого отобразится диалог CONFIRM ATTRIBUTE CHANGES, который позволяет определить, будет ли сжато все содержимое раздела, или только сам раздел. Если вы сожмете только сам раздел, тогда его текущее содержимое сжато не будет. Однако если вы добавите в корень раздела папку или файл, он автоматически будет сжат (по умолчанию сжатые папки и файлы выделяются синим цветом).

Чтобы сжать отдельную папку, нужно отобразить диалог PROPERTIES, на его вкладке GENERAL нажать на кнопку ADVANCED…, и в появившемся диалоге ADVANCED ATTRIBUTES установить флажок COMPRESS CONTENTS TO SAVE DISK SPACE. Если сжимаемая папка содержит в себе другие папки или файлы, тогда также отобразится диалог CONFIRM ATTRIBUTE CHANGES, содержащий те же возможности, что и при сжатии разделов диска. Новые данные, помещаемые в сжатую папку, автоматически сжимаются.

Процесс сжатия отдельного файла полностью аналогичен сжатию папки. Лишь на последнем этапе никогда не отобразится диалог CONFIRM ATTRIBUTE CHANGES.

Как папка, так и файл, не могут быть одновременно сжаты и зашифрованы. Поэтому, как только вы установите флажок Compress contents to Save disk space, сразу же будет сброшен флажок Encrypt contents to secure data.

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

Архивация Кроме стандартного способа сжатия объектов, операционная система Windows Vista поддерживает архивацию папок и файлов при помощи алгоритма ZIP. Чтобы заархивировать файл или папку, достаточно в ее контекстном меню выбрать команду SEND TO/COMPRESSED (ZIPPED) FOLDER. После этого будет создан новый файл с расширением .zip.

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

Если же вам нужно разархивировать созданный ранее .zip-файл, достаточно в его контекстном меню выбрать команду EXTRACT ALL…. После этого отобразится мастер EXTRACT COMPRESSED (ZIPPED) FOLDERS, с помощью которого можно указать каталог, в который будет помещена разархивированная копия файла или папки.

Используем программы командной строки

Сжатие файлов, папок и разделов диска Также для сжатия файлов, папок или разделов можно использовать программу командной строки compact.exe. Ее основной синтаксис довольно прост, а опции в операционной системе Windows Vista совершенно не изменились. Чтобы выполнить сжатие, нужно воспользоваться опцией /C, а если нужно отменить сжатие, тогда пригодится опция /U.

* compact.exe /C|/U /S:«раздел». Позволяет сжать раздел, или отменить его сжатие. * compact.exe /C|/U /S:«путь к каталогу». Позволяет сжать каталог, или отменить его сжатие. * compact.exe /C|/U /S:«путь к каталогу» «имя файла или шаблон». Позволяет сжать файл или файлы, удовлетворяющие шаблону, и расположенные в соответствующем каталоге, или отменить его сжатие.

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

Создание cab-файлов Данная программа является оболочкой, вызывающей программу командной строки makecab.exe. Поэтому можно использовать как программу diantz.exe, так и программу makecab.exe.

Создание cab-файлов также является своеобразным способом сжатия. CAB-файлы представляют собой разновидности архивов. Более того, операционная система Windows Vista обрабатывает CAB-файлы точно так же, как и ZIP-файлы, которые мы создавали с вами ранее при помощи оболочки (для их обработки используется один и тот же идентификатор CompressedFolder).

Основной синтаксис программы makecab.exe следующий: makecab /L «раздел, в который будет скопирован уже заархивированный файл» «путь и имя архивируемого файла» «имя создаваемого cab-файла».

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

* expand –D «путь к cab-файлу и его имя». Отображает список файлов, заархивированных в данном cab-файле. * expand «путь к cab-файлу и его имя, либо путь к каталогу, содержащему cab-файлы и шаблон, по которому можно выбрать требуемые cab-файлы» -F:«название файла или шаблон, по которому нужно определить, какие из cab-файлов будут распакованы» «каталог, в который будет распаковано содержимое cab-файла». Распаковывает определенные cab-файлы или часть их содержимого.

Разреженные файлы

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

Чтобы создать разреженный файл, достаточно воспользоваться командой fsutil sparse setflag «путь к файлу, который нужно сделать разреженным, и его имя». Кроме того, с помощью команды fsutil sparse queryflag «путь к файлу и его имя», можно определить, является ли данный файл разреженным.

Обнулить данные в файле можно при помощи команды fsutil file setzerodata offset=«смещение от начала файла в байтах» length=«размер обнуляемых данных в байтах» «путь к файлу и его имя».

Запись дисков

Процесс записи содержимого на перезаписываемую (DVD-RW или CD-RW) или записываемую (DVD-R или CD-R) болванку при помощи Windows Vista довольно прост. Использование возможностей AutoPlay

Легче всего начать запись на диск с помещения пустой болванки в лоток привода. После того, как операционная система распознает диск, она отобразит диалог AUTOPLAY, содержащий в себе следующие возможности.

* BURN A DVD DATA DISC. Запускает программу Windows Media Player для выполнения записи данных, доступ к которым можно получить при помощи библиотеки музыкального проигрывателя, на диск.

Программа Windows Media Player откроется уже на вкладке BURN, поэтому вам будет достаточно только выбрать из библиотеки проигрывателя файлы, которые нужно записать на диск, и поместить их в BURN LIST проигрывателя (панель проигрывателя, содержащая строку DRAG ITEMS HERE). После того, как вы это сделаете, достаточно нажать на кнопку START BURN, чтобы начать процесс записи. * BURN FILES TO DISC. Позволяет записать любые данные на диск при помощи проводника операционной системы. После выбора данной команды перед вами откроется каталог, который содержит данные, уже записанные (для перезаписываемых дисков) или только готовые к записи.

Чтобы добавить данные, которые будут записаны на диск, достаточно поместить их в открывшуюся папку. После того, как вы добавите в каталог все данные, которые хотите записать на диск (добавляемые вами данные будут скопированы в один из подразделов каталога %userprofile%\AppData\Local\Microsoft\Windows\Burn, чтобы изменить это, достаточно воспользоваться параметром строкового типа StagingPath, расположенном в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning\StagingInfo\{CLSID-номер DVD-RW привода}), достаточно нажать на кнопку BURN TO DISC, расположенную на панели инструментов, чтобы процесс записи начался. * BURN A DVD VIDEO DISC. Запускает программу Windows DVD Maker для создания, на основе ваших видео-данных, видео DVD-диска, воспроизводимого не только на компьютерах, но и на стандартных бытовых DVD-проигрывателях.

При этом способе создания DVD-диска вам будет необходимо знание программы Windows DVD Maker, работа с которой была описана ранее в этой книге.

После того, как вы выберите один из описанных выше элементов диалога AUTOPLAY, перед вами отобразится диалог BURN A DISC. С его помощью можно указать название создаваемого вами диска, а также указать формат диска (после того, как вы нажмете на ссылку диалога SHOW FORMATTING OPTIONS). При помощи операционной системы Windows Vista можно создать диски следующих форматов файловой системы UDF.

Файловая система UDF пришла на смену CDFS и позволяет записывать данные на болванки CD-R, DVD-R/RW и т.д. Она поддерживает длинные имена файлов, символы Unicode и разреженные файлы.

Файловая система UDF определяется драйвером udfs.sys, расположенным в каталоге %systemroot%\system32\drivers.

* LIVE FILE SYSTEM. Создает диски в формате Windows XP. Такие диски не будут читаться при помощи операционных систем ниже Windows XP и бытовых DVD-плееров, однако с такими дисками вы сможете обращаться как с флеш-памятью — быстро и легко перезаписывать их содержимое.

Обратите внимание на ссылку CHANGE VERSION под данным положением переключателя. С ее помощью можно отобразить диалог, позволяющий изменить версию формата LIVE FILE SYSTEM, которая будет использоваться для записи диска. Возможны следующие версии. o 1.50. Диски данной версии будут считываться операционными системами Windows 2000, Windows XP и Windows 2003 (естественно, и Windows Vista). o 2.00. Диски данной версии будут считываться операционными системами Windows XP и Windows 2003. o 2.01. Данная версия используется по умолчанию. Диски данной версии будут считываться операционными системами Windows XP и Windows 2003. o 2.50. Диски данной версии будут считываться только Windows Vista.

Если значение параметра REG_DWORD типа IsImapiDataBurnSupported, расположенного в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning\Drives\{CLSID-номер DVD-RW привода}, равно 0, тогда этот способ записи будет единственным. * MASTERED. Создает диски нового формата, которые можно прочитать при помощи любой операционной системы и многих бытовых проигрывателей. Дописать данные к содержимому таких дисков нельзя.

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

Команда Explore

Также начать процесс записи можно после помещения болванки в привод DVD-RW диска и выбора команды EXPLORE контекстного меню значка диска. После этого отобразить знакомый нам диалог выбора формата диска (диалог BURN A DISC). А после того, как вы отформатируете болванку, отобразится каталог, который содержит данные, уже записанные (для перезаписываемых дисков) или только готовые к записи. То есть, данный способ эквивалентен выбору элемента BURN FILES TO DISC диалога AUTOPLAY.

Команда Format

И еще одним способом начала процесса записи является выбор команды FORMAT контекстного меню значка диска. После этого отобразится диалог FORMAT, позволяющий отформатировать диск при помощи одной из версий формата LIVE FILE SYSTEM. Команда rundll32.exe

Также начать запись на диск можно при помощи команды rundll32.exe shell32.dll, PrepareDiscForBurnRunDll «буква, определяющая DVD-RW привод». После ввода данной команды отобразится диалог выбора формата записываемого диска (если в соответствующем DVD-RW приводе находится болванка). Настройка механизма записи

Чтобы настроить некоторые параметры записи на пустой диск при помощи стандартного механизма операционной системы Windows Vista, достаточно отобразить диалог PROPERTIES DVD-RW привода, при помощи которого вы и будете записывать диски, и перейти на вкладку RECORDING. Данная вкладка отображается только в том случае, если параметр REG_DWORD типа Active, расположенный в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning\StagingInfo\{CLSID-номер DVD-RW привода}, равен 1. В противном случае запись дисков с помощью соответствующего DVD-RW привода невозможна.

Вкладка RECORDING содержит в себе следующие возможности.

* Выпадающий список DVD-RW приводов поля DESKTOP DISC RECORDING. С его помощью можно указать DVD-RW привод (если у вас их несколько), с помощью которого по умолчанию выполняется процесс записи данных. Именно на него будут передаваться данные, если конкретный DVD-RW привод выбран не был.

Данный выпадающий список изменяет значение параметра строкового типа CD Recorder Drive, расположенного в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning. * Выпадающий список разделов жесткого диска поля DESKTOP DISC RECORDING. С его помощью можно указать раздел жесткого диска, который будет использоваться в процессе записи данных на болванку. Именно на этом диске будут храниться временные файлы, создаваемые в процессе записи (в каталоге Windows Burn Temp Files раздела диска), поэтому необходимо, чтобы соответствующий раздел имел достаточно свободного пространства.

По умолчанию используется раздел, с которого запускается операционная система.

Путь к каталогу, в котором будут храниться временные файлы записи, определяется в параметре строкового типа ImageStashLocation, расположенном в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning. * Флажок AUTOMATICALLY EJECT THE DISC AFTER A MASTERED BURN. Если данный флажок сброшен, тогда после выполнения процесса записи, лоток DVD-RW привода не будет выдвигаться. По умолчанию данный флажок установлен.

Данный флажок изменяет значение параметра строкового типа Auto Eject, расположенного в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning. * Кнопка GLOBAL SETTINGS. С помощью данной кнопки отображается дополнительный диалог, который содержит в себе единственный флажок AUTOMATICALLY CLOSE THE CURRENT UDF SESSION WHEN THE DISC IS EJECTED. Данный флажок определяет, будет ли автоматически закрываться записываемая сессия при завершении записи. Закрытие сессии занимает около 200 Мбайт свободного места на записываемом диске, однако в некоторых случаях это необходимая мера, повышающая читаемость записанных на диске данных с помощью бытовых DVD-проигрывателей.

Данный флажок изменяет значение параметра REG_DWORD типа UdfsCloseSessionOnEject, расположенного в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\FileSystem.