ASSOC — просмотр и изменение ассоциаций расширений файлов

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

Команда ASSOC управляет таблицей ассоциаций расширений файлов с типами файлов в реестре Windows. Она позволяет мгновенно выяснить, какой тип файла зарегистрирован для расширения, и изменить эту привязку без открытия интерфейса «Открыть с помощью». Используется в паре с командой FTYPE, которая задаёт программу для конкретного типа файла.

Команда ASSOC

Синтаксис команды ASSOC

ASSOC [.расширение[=[ТипФайла]]]

Плейсхолдеры:

  • .расширение — расширение файла с точкой, например .txt, .mp3, .py
  • ТипФайла — имя типа файла в реестре, например txtfile, VLC.mp3

Если команда вызвана без параметров — выводит все зарегистрированные ассоциации. Если указано только расширение без знака = — показывает текущую ассоциацию для него.

Ключи и параметры

Форма вызова Описание Пример
ASSOC Выводит полный список всех ассоциаций расширений ASSOC
ASSOC .ext Показывает текущий тип файла для расширения .ext ASSOC .txt
ASSOC .ext=ТипФайла Устанавливает новую ассоциацию для расширения ASSOC .txt=txtfile
ASSOC .ext= Сбрасывает ассоциацию (оставляет пустой тип файла) ASSOC .txt=
Pipe в FIND Фильтрует список ассоциаций по шаблону ASSOC | FIND ".mp"

Примеры использования

Просмотр всех ассоциаций

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

ASSOC

Каждая строка имеет вид .расширение=ТипФайла. Чтобы найти нужный формат, добавьте фильтр.

Просмотр ассоциации для конкретного расширения

Быстро узнайте, с каким типом файла связано расширение .pdf.

ASSOC .pdf

Типичный вывод: .pdf=AcroExch.Document.DC. Этот тип можно использовать в команде FTYPE AcroExch.Document.DC для просмотра запускаемой программы.

Изменение ассоциации расширения

Перепривязывает расширение .log к типу txtfile, чтобы файлы логов открывались в Блокноте.

ASSOC .log=txtfile

Требует прав администратора. После выполнения Windows будет открывать .log как текстовый файл.

Поиск ассоциаций по шаблону

Выводит только строки, содержащие .mp, — удобно найти все медиаформаты сразу.

ASSOC | FIND ".mp"

Результат покажет .mp3, .mp4, .mpg и все другие совпадения.

Сброс ассоциации

Удаляет тип файла для расширения, оставляя его «без программы». При открытии файла Windows предложит выбрать приложение.

ASSOC .xyz=

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

Переназначение скриптов Python

Если .py открывается не тем интерпретатором, смените ассоциацию на нужный тип. Сначала проверьте текущий:

ASSOC .py

Затем установите нужный тип (предварительно убедившись в его существовании через FTYPE):

ASSOC .py=Python.File

Сохранение списка ассоциаций в файл

Экспортирует все ассоциации в текстовый файл для анализа или резервной копии.

ASSOC > C:\assoc_backup.txt

Файл можно использовать как справочник при восстановлении ассоциаций после сбоя.

Частые ошибки и решения

Ошибка / симптом Причина Решение
«Отказано в доступе» при установке ассоциации CMD запущен без прав администратора Запустить командную строку от имени администратора
ASSOC .txt= не сбрасывает — файлы всё равно открываются старой программой Ассоциация задана в HKCU (пользовательский реестр), которая перекрывает HKCR Удалить ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt через regedit или reg delete
Ассоциация установлена, но двойной клик не работает Тип файла задан в ASSOC, но для него нет действия в FTYPE Настроить открывающую программу: FTYPE txtfile=notepad.exe %1
ASSOC .ext возвращает пустой вывод или ошибку «Не существует» Расширение не зарегистрировано в реестре Установить ассоциацию командой ASSOC .ext=ТипФайла или зарегистрировать через «Параметры» Windows
После изменения ассоциации иконки не обновились Кэш иконок не обновился Перезагрузить проводник: taskkill /f /im explorer.exe && start explorer.exe

Когда применять, а когда нет

Команда ASSOC работает только в среде CMD — она встроенная команда интерпретатора, а не отдельный исполняемый файл. При изменении ассоциаций через ASSOC/FTYPE изменения вносятся в ветку реестра HKCR (HKEY_CLASSES_ROOT), однако пользовательские переопределения в HKCU имеют приоритет, и ASSOC их не затрагивает. Если ассоциации задаются в масштабе предприятия через GPO, ручные изменения через ASSOC будут перезаписаны при следующем применении политики. В PowerShell аналогов встроенных командлетов для работы с ассоциациями нет — используйте cmd /c assoc или прямые операции с реестром через Set-ItemProperty.

FAQ

Чем отличается ASSOC от FTYPE?

ASSOC связывает расширение файла (.txt) с именем типа файла (txtfile). FTYPE определяет, какая программа запускается для этого типа файла. Для корректной работы нужны оба: сначала ASSOC задаёт тип, затем FTYPE — программу для него.

Как восстановить стандартную ассоциацию файла?

Через «Параметры» → «Приложения» → «Приложения по умолчанию» выберите нужное расширение и назначьте программу. Через CMD полного сброса до системных умолчаний нет — ASSOC управляет только реестровой привязкой типа файла.

Работает ли ASSOC в PowerShell?

Да, если вызвать через cmd /c assoc .txt. Нативного командлета PowerShell для ассоциаций нет. Для чтения реестра используйте Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt".

Почему ASSOC не меняет, чем открываются файлы у обычного пользователя?

Ассоциации в HKCU (пользовательском разделе реестра) перекрывают системные из HKCR. ASSOC пишет в HKCR, поэтому изменения не видны, если в HKCU есть своя запись для этого расширения. Удалите пользовательское переопределение через regedit.

Можно ли через ASSOC привязать расширение к пакетному файлу?

Да. Создайте тип командой ASSOC .myext=myScript, затем назначьте программу: FTYPE myScript=cmd.exe /c "C:\scripts\handler.bat" "%1". После этого двойной клик по файлу с расширением .myext запустит пакетный скрипт.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

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