Ассоциация файлов

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

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

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

Как открыть файл с помощью нужной программы

Ассоциация файлов Как открыть файл с помощью нужной программы
Язык:Русский
Формат:
Обновлено:2018-02-25
Автор:





Как открыть файл с помощью нужной программы

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

Среди многих удобств, за которые пользователи любят Windows, нельзя не вспомнить о функции быстрого открытия различных файлов в сопоставленной для них программе. Например, кликнул два раза по DOC-файлу и он открылся в текстовом редакторе. Или, скажем, дважды нажал левой кнопкой мыши по MP3-треку и он заиграл в аудиоплеере.

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

Чтобы не впасть в панику при возникновении подобных ошибок и быстро всё исправить важно знать принципы ассоциации файлов в Windows и способы их восстановления.

Как работает ассоциация файлов

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

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

Выборочная ассоциация файлов в AceStream

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

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


Ассоциация файлов через "Открыть с помощью"

Ещё со времён Windows 98 данный способ ассоциации файлов был одним из наиболее востребованных ввиду своей простоты. Заключается он в том, что в контекстном меню нужного файла вызывается команда "Открыть с помощью" и из предложенного списка или путём произвольного выбора пользователь указывает, какой бы программой хотел воспользоваться:

Открыть с помощью

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

Ассоциация файла в открыть с помощью

Если же в диалоге выбора нет нужной Вам программы, нажмите кнопку "Дополнительно" внизу и в открывшемся окне укажите исполняемый файл требуемого приложения. Такой способ особенно удобен, например, для ассоциации файлов с portable-версиями любого софта.

Стоит заметить, что диалог выбора программ для сопоставления может появиться также, если Вы попытаетесь открыть двойным щелчком файл, который ещё ни с чем не ассоциирован в системе. Аналогичный диалог открывается, если в контекстном меню выбрать "Свойства" файла, а затем на вкладке "Общие" нажать кнопку "Изменить" в строчке "Приложение".

Штатная оснастка для ассоциации файлов

В Windows XP появилась специальная системная оснастка для просмотра ассоциаций типов файлов, которая вызывалась из Панели управления. Правда, нормально функционировать она начала только с "Семёрки", но с тех пор стала довольно-таки удобным инструментом.

Чтобы получить доступ к инструментам оснастки нужно вызвать Панель управления (универсальный способ для всех Windows: WIN+R – команда "control" (без кавычек) – Enter) и перейти в раздел "Программы по умолчанию". Здесь нас интересуют первые два инструмента:

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

Первый из них – "Задание программ по умолчанию". Он очень удобен для массовой ассоциации файлов. В левой части окна оснастки мы можем выбирать зарегистрированные программы из списка, а в правой имеется две кнопки. Первая ("Использовать эту программу по умолчанию") позволяет автоматически ассоциировать выбранное приложение со всеми поддерживаемыми ею типами данных. Вторая же позволяет задать ассоциации выборочно:

Задание программ по умолчанию

Второй инструмент для ассоциации файлов называется "Сопоставление типов файлов или протоколов с конкретными программами". Здесь мы можем точечно настроить или перенастроить ассоциацию конкретного типа файла с определённой программой. Достаточно выделить нужное Вам расширение файла из списка зарегистрированных, нажать кнопку "Изменить программу" и в появившемся окошке выбрать нужную:

Сопоставление типов файлов или протоколов с конкретными программами

Ассоциация файлов в Командной строке

Если Вас не смущает интерфейс Командной строки, то в штатной консоли Windows Вы можете обнаружить две полезные для нашей задачи команды. Первая из них – assoc:

Работа команды ASSOC

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

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

Если ввести команду с указанием только расширения, она выведет ассоциацию для него (например, команда "assoc .3gp" выдаст результат вида ".3gp=WMP.PlayMedia". Если мы захотим удалить сопоставление для выбранного типа файлов, нам нужно будет просто добавит знак равенства после расширения без указания программы (пример: "assoc .3gp="). Если же нужно задать соответствие с другой программой, после знака равенства нужно указать её зарегистрированное имя (пример ассоциирует 3GP-файлы с KMPlayer: "assoc .3gp=KMPlayer.3gp").

Второй командой для настройки ассоциаций файлов в Командной строке можно назвать ftype:

Работа команды FTYPE

Данная команда напоминает по принципу работы предыдущую. Но, в отличие от неё, даёт возможность настроить принцип обработки файлов зарегистрированными для них командами с возможностью выбора не только исполняемого файла, но и нужных параметров. Чтобы лучше понять, что имеется в виду, взглянём на сравнение результатов выполнения команд ASSOC и FTYPE для расширения 3GP:

C:\Windows\system32>assoc .3gp

.3gp=KMPlayer.3gp

C:\Windows\system32>ftype KMPlayer.3gp

KMPlayer.3gp="C:\Program Files (x86)\KMPlayer\kmplayer.exe" "%1"

Результатом выполнения первого запроса стало получение команды, сопоставленной для открытия файлов с расширением 3GP. Второй запрос же позволил нам посмотреть, какая программа ассоциирована с нужной нам командой. Иными словами, при помощи ASSOC мы можем посмотреть, какая команда используется для открытия того или иного типа файлов, а при помощи FTYPE настроить (или даже создать) эту команду, сопоставив её с реальным исполняемым файлом какой-либо программы.

В качестве примера практического применения обеих команд, можем создать новую ассоциацию для уже рассмотренных нами выше файлов с расширением 3GP. Допустим, мы хотим открывать их в Ace Player, для которого ещё нет зарегистрированной в системе функции. Для этого сперва при помощи FTYPE создадим такую функцию (назвав её, например, AcePlayer.3gp), а затем ассоциируем с ней сам формат файлов. В итоге получится следующая последовательность команд:

C:\Windows\system32>ftype AcePlayer.3gp="C:\Users\Admin\AppData\Roaming\ACEStream\player\ace_player.exe" "%1"

AcePlayer.3gp="C:\Users\Admin\AppData\Roaming\ACEStream\player\ace_player.exe" "%1"

C:\Windows\system32>assoc .3gp=AcePlayer.3gp

.3gp=AcePlayer.3gp

Программы для ассоциации файлов

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

Если у Вас Windows Vista или 7, Вы можете воспользоваться программой Unassoc для того, чтобы полностью удалить ассоциации для конкретных типов файлов:

Unassoc

Программа выдаёт список всех зарегистрированных в системе файлов и имеет две основные функции. Первая – "Remove file association", собственно, и удаляет любое сопоставление для выбранного типа данных. Вторая – "Delete file type" – позволяет вообще удалить регистрацию для конкретного расширения файлов. Программу удобно использовать для исправления возникающих накладок с файловыми ассоциациями, но, как уже говорилось выше, запускается она только на Windows Vista или 7.

Если же Вам нужен подобный инструмент, который бы работал во всех новых версиях операционной системы, можете попробовать программу File Association Fixer:

File Association Fixer

Как и предыдущая утилита File Association Fixer не требует установки, но имеет 64-битную версию и подходит как для "Семёрки", так и для более поздних версий Windows. К сожалению, с её помощью нельзя удалить ассоциацию для любого типа файлов зарегистрированного в системе, но, тем не менее, доступен выбор из 70 наиболее часто используемых расширений.

Ассоциация файлов в реестре

Ну и, наконец, рассмотрим принцип прямой правки ассоциаций файлов в реестре. Настоятельно рекомендую перед любыми манипуляциями сделать резервную копию реестра. Для этого откройте Редактор (WIN+R – regedit – Enter) и в меню "Файл" нажмите пункт "Экспорт". В параметрах экспорта выберите опцию "Весь реестр":

Экспорт реестра

Теперь мы готовы к экспериментам! А экспериментировать мы будем с веткой реестра HKEY_CLASSES_ROOT. В ней в верхней части хранится список всех известных системе расширений, а ниже перечень зарегистрированных функций для вызова тех или иных программ (аналогично ASSOC и FTYPE). Для начала рассмотрим пример записи с расширением файла:

Ассоциация файлов в реестре

Если выбрать запись с расширением файла, то у неё (если файл зарегистрирован в системе) в значении (По умолчанию) будет указана зарегистрированная функция вызова исполняемой программы (как при выполнении ASSOC). Собственно, здесь и можно изменить "привязанную" стандартную программу, через которую файлы данного типа будут открываться. Кроме того, каждое расширение может иметь ряд дополнительных веток с параметрами:

  1. OpenWithList – группа, в которой перечисляются имена исполняемых файлов программ, отображаемых в меню "Открыть с помощью".
  2. OpenWithProgids – группа, в которой перечисляются зарегистрированные функции вызова программ, отображаемых в меню "Открыть с помощью".
  3. PersistentHandler – группа, в которой перечисляются системные обработчики вызова файла.
  4. ShellEx – группа, в которой перечисляются обработчики вызова файла, отображаемые в меню Проводника.
  5. ShellNew – группа, в которой перечисляются обработчики для создания нового файла в контекстном меню "Создать".

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

Как я уже говорил, под списком расширений идёт список зарегистрированных функций вызова программ (аналог FTYPE). Посмотрим на их содержимое:

Настройка функций запуска программ

Основной веткой, содержащей в себе параметры запуска программ, здесь является SHELL. Внутри неё имеется вложение OPEN, в котором могут быть перечислены функции, отображаемые в контекстном меню файла, а уже внутри OPEN содержится ключ COMMAND, в котором прописана команда запуска исполняемого файла.

Дополнительными ключами могут также быть CLSID, в котором прописывается идентификатор класса исполняемой программы в оболочке Windows, CURVER (если есть зависимости от версии исполняемого файла) и DEFAULTICON, в котором задаётся иконка для отображения команды в контекстных меню или иных областях Проводника.

Напоследок стоит сказать, что бывают особо запущенные случаи, когда вследствие сбоя или вредоносной деятельности вирусов на компьютере нарушаются ассоциации исполняемых EXE- и BAT-файлов. Симптомами такого нарушения будет невозможность запуска программ (в том числе Командной строки и Редактора реестра)! Если Вы столкнулись с такой проблемой, Вам помогут специальные REG-файлы, которые сбрасывают ассоциации для исполняемых файлов:

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

Выводы

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

Наша статья не скажет Вам, кто стал виновником возникших проблем (хотя, Вы наверняка догадываетесь из-за кого происходит большинство ошибок на ПК ;)), но наверняка даст Вам исчерпывающий ответ на вопрос о дальнейших действиях. Успехов Вам и корректных файловых ассоциаций!

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.







Полезный совет:


Система проверки ошибок от Mistakes.ru