Windows explorer file association

В этой статье мы рассмотрим, как ассоциировать разные расширения (типы) файлов с программами в Windows 10/11 и Windows Server 2022/2019/2016/2012R2. В качестве примера мы покажем, как в Windows назначать программу по-умолчанию для открытия *.pdf файлов, импортировать эти настройки в xml файл и распространить полученный файл с параметрами сопоставления файлов на другие компьютеры вручную или с помощью групповых политик.

Главное отличие Windows 10 и 11 от предыдущих версий ОС — теперь нельзя назначить файловые ассоциации через реестр или функционал Group Policy Preferences Open With. Зато появилась новая возможность выгрузить текущие настройки файловых ассоциаций (FTA, File Type Assotiations) с “эталонного” компьютера в xml файл и использовать данный файл для изменения настроек сопоставления расширений файлов на других компьютерах. Также вы можете экспортировать файл с настройками ассоциаций файлов в стандартный образ системы, который разворачивается на клиентах в вашей сети (вручную, через WDS или SCCM).

Содержание:

  • Задать программу по умолчанию для открытия типа файлов в Windows 10/11
  • Изменить ассоциации программ с типами файлами в Windows из командной строки
  • Экспорт, импорт и перенос настроек ассоциаций файлов Windows через XML файл
  • Настройка ассоциаций файлов в Windows с помощью GPO
  • Изменить файловые ассоциации через реестр Windows
  • Сброс всех ассоциаций файлов в Windows

Задать программу по умолчанию для открытия типа файлов в Windows 10/11

Предположим, вы хотите использовать Adobe Reader DC для открытия *.pdf файлов на всех компьютерах домена. Т.е. вы хотите создать ассоциацию этого расширения файлов с приложением. Для этого нам понадобится эталонный компьютер с Windows 10 или 11 (в этом примере используется актуальный билд 22H1) и установленным Acrobat Reader DC.

Обратите внимание, что в Windows 10 и 11 теперь по умолчанию установлен браузер Microsoft Edge, который используется как программа по-умолчанию для просмотра PDF файлов.

Чтобы вручную создать сопоставление определенного типа файла с программой, откройте панель Settings -> Default Apps (для быстрого перехода используйте команду быстрого доступа Settings ->
ms-settings:defaultapps
) и нажмите кнопку Choose default apps by file type.

Настройка программ по умолчанию и типов файлов в windows 10

Найдите в списке расширений тип файлов .pdf. Затем щелкните по значку программы, которая ассоциирована с этим расширением и смените программу по-умолчанию для просмотра PDF файлов с Microsoft Edge на Acrobat.

задать программу по умолчанию для открытия типа файлов в windows

Можно автоматически ассоциировать определенную программу с типами файлов, для которых она зарегистрирована. Для этого в разделе Default Apps выберите Set default by apps, найдите в списке нужную программу и нажмите кнопку Manage.

выбрать программу для открытия определенного расширения файлов

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

сопоставление программ с поддерживаемыми типами файлов в windows 10

Изменить ассоциации программ с типами файлами в Windows из командной строки

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

assoc .pdf

В данном примере видно, что с этим расширением ассоциирован тип файлов AcroExch.Document.DC:

.pdf=AcroExch.Document.DC

Вывести все сопостаяления расширения с типами файлов:

assoc|more

Чтобы понять с каким исполняемым файлом ассоциирован тип файла AcroExch.Document.DC, выполните:

ftype AcroExch.Document.DC

команда ftype задать программу для типов файлов

Вы можете задать тип для определенных файлов с помощью команды:

ASSOC .csv=txtfile

В этом примере мы указали, что все CSV файлы нужно открывать как обычные текстовые файлы (по умолчанию с помощью notepad.exe).

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

assoc .tx1=tx1file

Теперь укажем программу, которая должна использоваться по умолчанию при открытии файлов с расширением tx1.
ftype tx1file="%programfiles(x86)%\"Notepad++\notepad++.exe" "%1"

Также вы можете использовать стороннюю утилиту SetUserFTA чтобы назначить файловые ассоциации в Windows. SetUserFTA эта утилита командой строки для быстрой настройки файловых ассоциаций (часто используется на RDS фермах Windows Server 2019/2022 для настройки сопоставления файлов с приложениями).

Список текущих ассоциаций и заданных для них progid в Windows можно вывести так:

SetUserFTA get

Чтобы задать ассоциацию для определенного типа файлов, используется команда:

SetUserFTA.exe extension progid

Например, назначить Chrome браузером по-умолчанию:

SetUserFTA  http ChromeHTML
SetUserFTA  https ChromeHTML
SetUserFTA  .htm ChromeHTML
SetUserFTA  .html ChromeHTML

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

SetUserFTA  .txt applications\notepad++.exe

Это возможно для приложений, зарегистрированных в ветке реестра
\HKEY_CLASSES_ROOT\Applications
.

Экспорт, импорт и перенос настроек ассоциаций файлов Windows через XML файл

Текущие настройки ассоциаций файлов с программами, которые настроены под текущим пользователем, можно экспортировать в файл .XML с помощью DISM:

Dism.exe /online /Export-DefaultAppAssociations:C:\PS\DefaultAssoc.xml

Команда экспортирует в XML файл все настроенные у вас сопоставлений программ. Вы можете открыть файл DefaultAssoc.xml в любом текстовом редакторе, и посмотреть полный список настроек. Если вы хотите использовать только часть ассоциаций из этого списка (чтобы не переопределять имеющиеся настройки для остальных расширений файлов на других компьютерах), можно вручную отредактировать XML файл. Оставьте только строки с нужными вам расширениями файлов. К примеру, оставьте только строки для расширений .pdf и .fdf, остальные строки удалите. Должен получиться примерно такой XML-файл:

<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
<Association Identifier=".fdf" ProgId="AcroExch.FDFDoc" ApplicationName="Adobe Acrobat Reader DC" />
<Association Identifier=".pdf" ProgId="AcroExch.Document.DC" ApplicationName="Adobe Acrobat Reader DC" />
</DefaultAssociations>

Dism Export-DefaultAppAssociations в XML файл

Полученный XML файл можно импортировать в образ Windows на другом компьютере с помощью DISM в режиме онлайн:

Dism.exe /Online /Import-DefaultAppAssociations:C:\PS\DefaultAssoc.xml

Важно. Данные настройки сопоставления расширений файлов с программами будут применены только к новым пользователям системы во время их первого входа. Если при импорте появится ошибка App default reset notification, проверьте синтаксис XML файла.

Также можно импортировать параметры ассоциаций в офлайн образ Windows в wim файл (который вы используете для раскатки образа на новые компьютеры). Сначала нужно смонтировать образ:

Dism /Mount-Image /ImageFile:C:\mnt\images\install.wim /MountDir:C:\mnt\offline

А затем импортировать xml файл:

Dism.exe /Image:C:\mnt\offline /Import-DefaultAppAssociations:\\Server1\Share\DefaultAssoc.xml

Совет. Текущие настройки ассоциаций файлов в офлайн образе Windows можно получить с помощью такой команды:

Dism.exe /Image:C:\mnt\offline /Get-DefaultAppAssociations

Настройка ассоциаций файлов в Windows с помощью GPO

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

Например, вы хотите применить групповую политику с настройками ассоциаций файлов ко всем компьютерам в определенном OU (Organizational Unit) Active Directory.

  1. Откройте консоль управления доменными GPO (
    gpmc.msc
    );
  2. Найдите OU с компьютерами, для которых вы хотите применить файловые ассоциации и создайте новую GPO;
  3. Переключитесь в режим редактирования GPO и перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> File Explorer;
  4. Найдите параметр Set a default associations configuration file (Задать файл конфигурации сопоставлений по умолчанию);
  5. Включите политику и укажите UNC путь к вашему xml файлу (убедитесь, что путь не содержит кавычки или пробелы). Его можно разместить на общедоступном файловом сервере, в каталоге SYSVOL на контроллере домена, или предварительно скопировать файл на компьютеры с помощью GPP/ SCCM;
    применить настройки ассоциаций файлов с помощью групповой политики

  6. Перезагрузите компьютер, чтобы применить новые ассоциации файлов.

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

Путь к XML файлу с новыми настройками ассоциации файлов содержится в параметре реестра DefaultAssociationsConfiguration в разделе Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System.

DefaultAssociationsConfiguration параметр реестра windows 10

Т.к. Windows 10 отслеживает настройки файловых ассоциаций, при первой попытке открыть PDF файл может появится окно с подтверждением использования Acrobat Reader как программы по–умолчанию для открытия этого типа файлов (запрос появляется только один раз). Такой запрос будет всегда появляться также после установки нового приложения, которое регистрируется для открытия существующего типа файлов или протоколов. Можно скрыть данные уведомления, включив в этом же разделе GPO политику Do not show the ‘new application installed‘ notification (Не показывать уведомление “установлено новое приложение”).

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

Изменить файловые ассоциации через реестр Windows

Как мы уже говорили выше, в Windows 10/11 изменился подход к изменению настроек ассоциации файлов. В предыдущей секции мы показали, как настроить ассоциацию .pdf файла с Acrobat Reader через XML файл и групповую политику. Теперь посмотрим, как это выглядит в реестре.

Запустите редактор regedit.exe и перейдите в ветку
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice
.

Обратите внимание, что в данной ветке с настройками ассоциация для расширения html есть два параметра:

  • ProgId – идентификатор зарегистрированной программы для открытия этого типа файлов. Если вместо имени приложения указан длинный идентификатора, значит назначена ассоциация файла с современным приложением UWP/Metro. Проверьте, что оно не удалено из вашего образа Windows 10;
  • Hash – хеш, который генерируется автоматически для валидации настройки сопоставления типа файлов с программой. Наличие этого хэша, гарантирует, что именно пользователь или администратор (через GPO) настроил данное сопоставление. Этот механизм нужен для защиты пользователей от вредоносных программ, которые могут подменить ассоциации файлов без его ведома.

progid и hash в реестре для ассоциаций программ с файлами

Если вы попробуете руками изменить значение ProgId и назначить другую программу, значение Hash перестанет быть валидным. В этом случае Windows автоматически сбросит настройки ассоциации файла к значению по-умолчанию и пользователь увидит уведомление:

Стандартное приложение сброшено.
Приложение вызвало проблемы с настройкой стандартного приложения для файлов .html, поэтому оно сброшено для Microsoft Edge.
An app default was reset.
An app caused a problem with the default app setting for .html files, so it was reset to Microsoft Edge.

Соотвественно, в Windows 10 не сможете настроить сопоставление файлов через реестр, как это работало в Windows 7.

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

Сброс всех ассоциаций файлов в Windows

С помощью следующей команды можно сбросить импортированные ранее настройки ассоциаций файлов в Windows:

Dism.exe /Online /Remove-DefaultAppAssociations

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

Чтобы сбросить ассоциации файлов, настроенные пользователем вручную, нужно в панели Параметры -> Система -> Приложения по умолчанию (Default Apps) нажать на кнопку Сброс (Reset).

wiindows 10 сбросить ассоциации файлов

При этом все ассоциации файлов вернутся к состоянию чистой Windows 10.

How does Windows know which app or program to use to open all the different kinds of files on your computer? It comes down to file associations. Windows associates each file type with a program capable of opening that kind of file, but you have some choice in the matter, too! 

Imagine, for example, you just installed Adobe Photoshop on your PC. From now on, you want Windows to use Photoshop to open .jpg files, but currently Windows always opens .jpg files with the default Photos app included in Windows 10.

Below we’ll show you several methods of changing file associations in Windows 10 so that your files open with the application you prefer.

One way to tell Windows which application should open a particular kind of file is through the File Explorer. In the example below, JPG files open in Microsoft Photos, and we will change the file association so that JPG files open in Adobe Photoshop. 

  1. Open File Explorer. An easy way to do that is to press Win+E
  2. Navigate to a folder containing a file whose association you want to change. 
How to Change Windows 10 File Associations in File Explorer image

  1. Right-click the file and select Open with. (Note: If you don’t see Open with, hold down the Shift key and then right-click the file.)
  2. Even if you see the program you want to associate with that file type in the list, select Choose another app. (If you just select the program from the list displayed, the file will open in that app this time, but the default file association will remain unchanged.
How to Change Windows 10 File Associations in File Explorer image 2

  1. A popup will appear asking you how you want to open this file. Select the application you want to associate with your file type and check the box next to Always use this app to open [filetype].
  1. Note: If you don’t see the app you want to associate with this file type in the Other options list, scroll down and select Look for an app in the Microsoft Store. Alternative, if you already have a program installed that doesn’t appear in the list, then select More apps and navigate to the application you want.
  1. Once you’ve selected the program you want to associate with this file type, select OK. From now on, files of that type will automatically open in the app you selected.

Another Way to Change Windows 10 File Associations in the File Explorer

Windows File Explorer offers a second way to designate which program should open files of a certain type. This technique works just as well as the method above. It’s up to you to pick which way you want to do it.

  1. Open File Explorer and navigate to a folder containing a file whose association you want to change.
  2. Select the file and make sure the Home menu tab is active. On the toolbar ribbon, select Properties. (Alternatively, right-click on the file and select Properties.)
Another Way to Change Windows 10 File Associations in the File Explorer image

  1. In the Properties panel, select the Change button.
  1. Continue from Step 5 in Method A above.

Change File Associations via the Control Panel

You can also use the Control Panel to change file associations in Windows 10. Here’s how.

  1. Open the Control Panel. An easy way to do this is by pressing Win + R, typing control and then selecting OK.
Change File Associations via the Control Panel image

  1. Select Default Programs.
Change File Associations via the Control Panel image 2

  1. Next, select Associate a file type or protocol with a program.
Change File Associations via the Control Panel image 3

  1. In the Default apps window that displays, select Choose default apps by file type.
Change File Associations via the Control Panel image 4

  1. Next, find the file type in the list on the left under Name. In our example, we’ll look for .jpg
  2. Select the default program to the right of the file type association you want to change. The Choose an app panel will appear. Select the app you want to associate with the file type, and you’re done!
Change File Associations via the Control Panel image 5

Changing File Associations in Windows Settings

Sometimes you might want an application to open every kind of file it can. In that case, rather than associating file types with the application one by one, you can tell Windows to use that application to open any kind of file it can handle.

For example, you might want your favorite web browser to open web pages, no matter what file type they are. Here’s how to do that.

  1. Open Windows Settings by pressing Win+I.
  2. Select Apps.
Changing File Associations in Windows Settings image

  1. In the list on the left, select Default apps.
Changing File Associations in Windows Settings image 2

  1. Now you can choose the default apps for things like email, maps, music, photos, videos, or web browser. Let’s change the default web browser from Google Chrome so that all web page file types are associated with Firefox instead. Under Web browser, select the default app that is listed. In this case, it’s Google Chrome.
Changing File Associations in Windows Settings image 3

  1. Next, select the app you want from the list. We’ll choose Firefox.

That’s it! Now Firefox has an association with all the file types it can handle.

Bonus: How to View File Extensions in Windows 10 File Explorer

In a previous section, we searched for file extensions in a list. If you use that method, you’ll need to know the file extension you want to associate with a particular app. 

Configuring Windows File Explorer to display file extensions in file names is quick and easy. Just open the file explorer by pressing Win+E. Then select the View tab on the menu ribbon. Lastly, check the box next to File name extensions

Bonus: How to View File Extensions in Windows 10 File Explorer image

Now you’ll be able to see the file extension for any file in that folder.

Bonus: How to View File Extensions in Windows 10 File Explorer image 2

Save Yourself Some Time

By following one of the methods above, you’ll save yourself some extra time and irritation. Taking a moment to change your file associations so your files open in the applications you want is a gift you can give your future self!  

Related Posts

  • How to Fix a “This file does not have an app associated with it” Error on Windows
  • How to Fix an Update Error 0x800705b4 on Windows
  • How to Resolve “A JavaScript error occured in the main process” Error on Windows
  • How to Fix the Network Discovery Is Turned Off Error on Windows
  • How to Change Folder Icons in Windows

Иногда пользователи Windows 11/10 ошибочно назначают неправильные ассоциации для того или иного файла: при открытии выбирают какое-либо приложение и нажимают кнопку «Всегда» для его использования на постоянной основе.

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

Редактор реестра

Выбор неправильной ассоциации файла в Windows

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

  1. Нажмите клавиши Win+R на клавиатуре, либо нажмите правой кнопкой мыши по кнопке «Пуск» и выберите пункт «Выполнить», введите regedit и нажмите Enter.
  2. В разделе реестра
    HKEY_CLASSES_ROOT

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

    Удаление ассоциаций файлов в реестре шаг 1

  3. Сделайте то же самое в разделе реестра
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
    Удаление ассоциаций файлов в реестре шаг 2

  4. Перезагрузите компьютер.

После этого файл снова не будет ассоциирован с какими-либо программами.

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

Параметры

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

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

  3. Нажмите по расширению и выберите нужное приложение. Заданное при установке Windows приложение будет указано в разделе «Рекомендуемые приложения».
    Выбор приложения по умолчанию для типа файла

  4. Нажмите кнопку «Задать по умолчанию».

Готово, ассоциация типа файла восстановлена.

Дополнительно:

  • Если ассоциации файлов были нарушены недавно, а на компьютере сохранились точки восстановления системы, можно использовать их — это восстановит, в том числе и ассоциации файлов.
  • В сети встречал следующий «манёвр»: создается пустой текстовый файл и ему назначается расширение .exe, после чего для проблемного типа файла используется контекстное меню: Открыть с помощью — Выбрать другое приложение — Выберите приложение на компьютере, выбирается созданный EXE файл, нажимается кнопка «Всегда», чтобы назначить ассоциацию для открытия этого типа файла с помощью созданного файла. Следующий шаг — удаление этого EXE файла с последующей перезагрузкой компьютера.
  • Существуют сторонние программы для исправления ассоциаций файлов, например — File Association Fixer Tool.

Некоторые дополнительные возможности, связанные с изменением приложений, назначенных для типов файлов описаны в статьях: Программы по умолчанию Windows 11, Программы по умолчанию Windows 10, Как исправить ассоциации файлов EXE и LNK.

When opening a file type in Windows Explorer, and having it opened in another program than the one you would like to, the solution is to change the Windows 10 file associations for these types of files, based on the file extension.

When opening a file type in Windows Explorer, and having it opened in another program than the one you would like to, the solution is to change the Windows 10 file associations for these types of files, based on the file extension.

Do to so, go to settings > apps > default apps > choose default applications by file type > select file extension > change application.

For example, when opening a docx file, which is supposed to be a Word Office document, and be opened with the corresponding Microsoft Word program, it is instead opened in a strange Office editor which is not MicrosoftWord.

It then opens in a program that is definitely not Word, have not been installed by the user, and should not ever even open at all.

How to change default file opener

In order to change the default file opener program in Windows 10, start by looking for Windows settings in the Windowse menu search, and open settings app.

After that, in the Windows settings, find the applications settings in the apps section. There, it will be possible to uninstall programs, or select defaults apps for file association.

How to set default apps in Windows 10

To set default apps for files in Windows 10, once in the apps settings, find the default apps sub menu with the left hand side options.

Select the menu choose default applications by file type in order to change Windows 10 file associations by file type.

Choose default applications by file type

A list of all the file extensions is displayed, with the corresponding file descriptions whenever available, as this might not be the case for all the file types.

To change a Windows 10 file association, scroll down to the file type for which the file association should be changed.

If you are not sure about the file type, check in Windows explorer, the last letters at the end of the file name. If the extension is not shown on Windows Explorer, it is because the display file extensions option hasn’t been selected in Explorer options — change that by opening the menu View > Options > View > uncheck Hide extensions for known file types.

Become an Excel Pro: Join Our Course!

Elevate your skills from novice to hero with our Excel 365 Basics course, designed to make you proficient in just a few sessions.

Enroll Here

When clicking on the program associated to a given file type, a list of programs with which the file extensions could be opened with will show up.

Simply select the right application, to have the file association changed from the previous program to the selected one.

How to set Microsoft Word as default program for .docx

To have MicrosoftWord set as default program to open the docx Microsoft Word XML documents, find the .docx file extension in the choose default applications by file type Windows settings, and select Word as the default opening program for the Word documents.

How to set Microsoft Excel as default program for .xlsx

To have MicrosoftExcel set as default program to open the xlsx Microsoft Excel Worksheet documents, find the .xlsx file extension in the choose default applications by file type Windows settings, and select Excel as the default opening program for the Excel documents.

How to set Microsoft Powerpoint as default program for .pptx

To have MicrosoftPowerpoint set as default program to open the pptx Microsoft Powerpoint Presentation documents, find the .pptx file extension in the choose default applications by file type Windows settings, and select Powerpoint as the default opening program for the Powerpoint documents.

Excel missing from list of available programs

Solve issue: I want to set Microsoft Excel as the default program for files. xls but it is not on the list, only Adobe and Wordpad - what to do to make MS Excel there to choose from. We're talking about Windows 10

To set Microsoft Excel as default opening program for .xls files, open the Microsoft Windows explorer on a folder that contains and .xls file. Right click on the files, select the open with menu, and select MS Excel from the list of available programs.

If Microsoft Excel doesn’t show up in the list of available programs, select the choose another app option. From there, use the more apps option, and select MS Excel from the app list.

In case the MS Excel app is not available, it means that there is a problem with  Microsoft Office   installation on your computer, in which case the best is to uninstall and install again the whole  Microsoft Office   suite on your computer, after what the file association should be available.

Frequently Asked Questions

What are the detailed steps to modify file associations in Windows 10, allowing specific file types to open with chosen default programs?
To change file associations in Windows 10, go to Settings > Apps > Default Apps. Click on Choose default apps by file type to find the file extension you wish to change. Click on the current associated app or the Choose a default option next to the file type, then select the new program you’d prefer to open that file type with. This ensures files open with the software you find most suitable.

Complete 2019 Excel for Beginners in video

Мгновенная настройка привычных файловых ассоциаций

Время на прочтение3 мин

Количество просмотров20K

Автоматизировал задание файловых ассоциаций, то есть выбор программы которая будет открывать файл из Explorer/Finder. И делюсь.

Сначала проблематика. Файлы нужных расширений часто не открываются по умолчанию ничем, а если открываются, то каким-нибудь iTunes. Под windows нужные ассоциации, бывает, и вовсе теряются при установке (или даже деинсталяции) программ: снесёшь, бывало, GIMP, а ico-файлы перешли во владение от привычного просмотрщика файлов к стандартной Photo Gallery. Почему? Зачем? Неизвестно… А если нашёл новый редактор или, по разным причинам, свежая инсталляция? А если компьютер не один? В общем, кликать мышками в диалогах — развлечение такое себе.

Вместо этого я сохранил два файлика на Dropbox и теперь привести компьютерный мир к привычному состоянию можно почти мгновенно. И чего ждал столько лет… Далее рецепт для Windows и macOS.

Windows

В консоли Windows cmd.exe это делается в два этапа:

ftype my_file_txt="C:\Windows\notepad.exe" "%1"
assoc .txt=my_file_txt

Изменения вступают в силу сразу. Несмотря на то, что ассоциация прописывается для текущего пользователя, запускать эти команды нужно почему-то с правами администратора. И не забыть задвоить символ процента (%%1) при запуске из bat-файла. Волшебный мир Windows 7 Ultimate 64-bit…

UPD. Опыты показали, что манипуляции с ftype/assoc воздействуют на всех юзеров на машине (такого поворота наша редакция не ожидала). Тем не менее, схема остаётся рабочей. Но буду выяснять как не затронуть остальных.

macOS

В макоси ассоциации удобно задавать утилитой duti. Устанавливается она  через brew install duti. Пример использования:

duti -s com.apple.TextEdit .txt "editor"

Изменения вступают в силу сразу, sudo не требуется. Здесь аргумент «com.apple.TextEdit» — это так называемый «bundle id» нужной нам программы. Аргумент «editor» — тип ассоциации: «editor» для редактирования, «viewer» для просмотра, «all» для всего.

Найти «bundle id» можно так: если есть «/Applications/Sublime Text.app» третьей версии, то бандл айди у неё будет «com.sublimetext.3», ну или какой-то другой:

> osascript -e 'id of app "Sublime Text"'
com.sublimetext.3

Проверено на macOS Sierra.

Итоговый скрипт для Windows (.bat)

@echo off

set XNVIEW=C:\Program Files (x86)\XnView\xnview.exe
set SUBLIME=C:\Program Files\Sublime Text 3\sublime_text.exe
set FOOBAR=C:\Program Files (x86)\foobar2000\foobar2000.exe

call :assoc_ext "%SUBLIME%" txt md js json css java sh yaml
call :assoc_ext "%XNVIEW%" png gif jpg jpeg tiff bmp ico
call :assoc_ext "%FOOBAR%" flac fla ape wav mp3 wma m4a ogg ac3

goto :eof

:assoc_ext
  set EXE=%1
  shift
  :loop
  if "%1" neq "" (
    ftype my_file_%1=%EXE% "%%1"
    assoc .%1=my_file_%1
    shift
    goto :loop
  )
goto :eof

Итоговый скрипт для macOS (.sh)

#!/bin/bash

# this allows us terminate the whole process from within a function
trap "exit 1" TERM
export TERM_PID=$$

# check `duti` installed
command -v duti >/dev/null 2>&1 || \
  { echo >&2 "duti required: brew install duti"; exit 1; }

get_bundle_id() {
    osascript -e "id of app \"${1}\"" || kill -s TERM $TERM_PID;
}

assoc() {
    bundle_id=$1; shift
    role=$1; shift
    while [ -n "$1" ]; do
        echo "setting file assoc: $bundle_id .$1 $role"
        duti -s "$bundle_id" ".${1}" "$role"
        shift
    done
}

SUBLIME=$(get_bundle_id "Sublime Text")
TEXT_EDIT=$(get_bundle_id "TextEdit")
MPLAYERX=$(get_bundle_id "MPlayerX")

assoc "$SUBLIME" "editor" txt md js jse json reg bat ps1 cfg sh bash yaml
assoc "$MPLAYERX" "viewer" mkv mp4 avi mov webm
assoc "$MPLAYERX" "viewer" flac fla ape wav mp3 wma m4a ogg ac3

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Dead by daylight windows of opportunity
  • Автоматическая очистка корзины windows 10
  • Windows 7 как выбрать язык по умолчанию
  • Разделить экран на две части windows 10 сочетания клавиш
  • Оптимизированная windows 7 ultimate