Hkcu software microsoft windows currentversion explorer fileexts

Back in the day, one merely need look at HKCR.ext which would point to HKCRtype-handler. HKCR is now a dynamic link to both HKCUsoftwareclasses and HKLMsoftwareclasses, in a cascade pattern ...

Back in the day, one merely need look at HKCR.ext which would point to HKCRtype-handler.

HKCR is now a dynamic link to both HKCUsoftwareclasses and HKLMsoftwareclasses, in a cascade pattern (local user first, then local machine).

However, now we also have this ..explorerFileExts registry tree, presumably at both user and machine levels as well. What does this additional complexity provide?

I don’t know about you, but I am forever fighting Windows to correctly open my files, with Explorer hanging quite often, or failing to open a given file from explorer. And it seems quite arbitrary, where an install of say TextPad on one machine will appear to be 100% functional, whereas on another will result in only limited functionality with either Explorer or TextPad crashing when a file is attempted to be opened (say via the right click menu, or send-to, or drag & drop, or double click).

I’ve asked a few times and done myriad searches, and I have yet to find a comprehensive «this is what all keys related to file types are and do, and how Microsoft intends that they be used for coherent cooperation and proper function of a users system.»

Does anyone know where I might find a comprehensive ‘best-practices’ guide or exhaustive documentation for file-type-associations under windows?

  • Remove From My Forums
  • Вопрос

  • Здравствуйте , каждый раз выскакивают ошибки в реестре , так же открывая реестр, создаются одни и те же файлы , удаляя их или чистя через программы, они все начинаются появляться, я плохо в этом разбираюсь, но мне эти файлы мешают
    работать, Скажите пожалуйста, как они возникают ,из-за какой программы? и как сделать чтобы они вообще не появлялись, прошу пожалуйста помочь друзья, что мне нужно сделать?
    Сами файлы.. (текст, скопирован с программы Cleaner):
    Расширение файла SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.rb ссылается на неверный идентификатор программы. Как правило, это происходит из-за неверной деинсталляции приложения. 
    Расширение файла SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.php ссылается на неверный идентификатор программы. Как правило, это происходит из-за неверной деинсталляции приложения. 

    Расширение файла SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lock ссылается на неверный идентификатор программы.

    Расширение файла SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts. ссылается на неверный идентификатор программы.

    • Изменено

      25 апреля 2018 г. 20:10

Ответы

  • «после использования программы cleaner единственно верным решением будет переустановка ОС» — я
    задавал вопрос что мне делать если я установил программу ccleaner? 

    Вы сами вопросы к заданной теме читали вообще?

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

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

    вдумчиво перечитайте пожалуйста последнее предложение в прошлом ответе.

    вы задаете некорректные вопросы из разряда «на улице часто светит солнце, как сделать так что бы не светило?»

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

    программы по типу ccleaner’a работают губительно для ос, если вы ее запустили, мое вам сочувствие и рекомендация к переустановке.

    если вы ccleaner установили но не запускали  — удалите и больше не устанавливайте

    Ключи реестра создает ОС, и она же их использует. Хотите избавиться от реестра — добро пожаловать в линукс, там эти же настройки лежат в файлах.

    и еще раз ответ — не трогайте то что не понимаете зачем нужно


    The opinion expressed by me is not an official position of Microsoft

    • Изменено
      Vector BCO
      2 мая 2018 г. 19:19
    • Помечено в качестве ответа
      JemmyL
      2 мая 2018 г. 23:17

В свое время достаточно взглянуть на HKCR.ext который будет указывать на HKCRtype-handler .

HKCR теперь является динамической связью как HKCUsoftwareclasses и HKLMsoftwareclasses , в виде каскадного шаблона (сначала локальный пользователь, затем локальный компьютер).

Однако теперь у нас также есть это дерево реестра ..explorerFileExts , предположительно как на уровне пользователя, так и на уровне компьютера. Что дает эта дополнительная сложность?

Я не знаю, как вы, но я постоянно борюсь с Windows, чтобы правильно открыть мои файлы, с довольно часто зависающим проводником или с невозможностью открыть данный файл из проводника. И это кажется совершенно произвольным, когда установка, скажем, TextPad на одном компьютере будет казаться на 100% функциональной, тогда как на другом будет только ограниченная функциональность с аварийным завершением Explorer или TextPad при попытке открытия файла (скажем, через щелкните правой кнопкой мыши меню, или отправьте, или перетащите и отпустите, или двойной щелчок).

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

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

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

Примечание. Раздел HKEY_CLASSES_ROOT (HKCR) состоит из содержимого разделов HKLMSOFTWAREClasses и HKCUSoftwareClasses. Соответственно изменения можно вносить не в HKCR, а один из этих двух разделов. В HKLMSOFTWAREClasses содержатся настройки для всех пользователей компьютера,  в HKCUSoftwareClasses — настройки для текущего пользователя.

Каждый зарегистрированный в системе файл хранит свои настройки в двух подразделах, которые называются подраздел расширения и подраздел идентификатора файла. Для примера возьмем обычный текстовый файл. Его подраздел расширения имеет название .txt и соответствует расширению файла с точкой перед ним. А в параметре по умолчанию содержится идентификатор данного типа файла — txtfile.

тип файла

Далее в HKCR находим раздел txtfile, соответствующий найденному идентификатору и переходим в подраздел HKCRtxtfileshellopencommand. Здесь в параметре по умолчанию хранится команда, которая используется системой для открытия всех файлов данного типа. Для текстового файла она имеет вид %SystemRoot%System32Notepad.exe %1, где %SystemRoot%System32Notepad.exe — это путь к программе Notepad, а вместо %1 подставляется имя файла.

команда для открытия файла

Для управления этими настройками есть специальные утилиты командной строки assoc и ftype. С помощью утилиты assoc можно посмотреть тип файла (идентификатор):

assoc .txt

А затем ftype покажет для него программу по умолчанию:

ftype txtfile

просмотр типа файла с помощью утилиты assoc

С помощью ftype можно не только посмотреть, но и поменять программу по умолчанию. Для примера укажем в качестве программы для открытия txt-файлов редактор Notepad++ такой командой:

ftype txtfile=″C:Program Files (x86)Notepad++.exe″ ″%1″

изменение программы по умолчанию с помощью утилиты ftype

Описанные выше параметры содержат настройки системы по умолчанию и применяются до тех пор, пока пользователь не переопределит их. Текущие же настройки пользователя хранятся в разделе HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerFileExts.

В разделе OpenWithList можно посмотреть список программ, которыми открывали данный тип файлов. Так в нашем случае для открытия текстовых файлов использовались Notepad, Wordpad и Notepad++. В параметре MRUList содержится очередность, в которой эти программы использовались — сначала Wordpad (b), затем Notepad (a)  и последним Notepad++ (c).

список программ для открытия файла

А когда вы открываете в проводнике свойства текстового файла и изменяете программу по умолчанию, то эти настройки сохраняются в разделе HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerFileExts.txtUserChoice. В параметре ProgID хранится идентификатор, а в параметре Hash  — хэш программы. Хэш вычисляется каждый раз, когда вы выбираете программу по умолчанию. Его наличие говорит о том, что настройка была произведена пользователем, с помощью специально предназначенной для этого оснастки. Этот механизм предназначен для защиты от вредоносного ПО, которое может подменить файловые ассоциации без ведома пользователя.

программа по умолчанию для текущего пользователя

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

сброс до на строек по умолчанию

А теперь внимание. Если проверить ассоциации для png файлов с помощью assoc и ftype, то можно заметить, что файлы данного типа по умолчанию ассоциированы с программой Просмотр фотографий Windows (Windows Photo Viewer), а настройки сбросились до приложения Фотографии (Photos).

ассоциация для файлов png

А параметр ProgID вместо нормального названия принял какое-то невразумительное значение, состоящее из хаотичного набора букв и цифр.

настройки по умолчанию

Дело в том, что в Windows 10 кроме классических программ есть современные приложения (modern-apps). И если заглянуть в раздел HKCUSOFTWAREClasses, то можно выяснить, что это самое значение AppX43hnxtbyyps62jhe9sqpdzxn1790zetc как раз соответствует приложению Фотографии.

приложение по умолчанию для открытия файлов png

Чтобы выяснить, для каких еще файлов приложение Фотографии является программой по умолчанию, надо перейти в HKCUSOFTWAREClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppModelRepositoryPackages и открыть раздел, соответствующий данному приложению. Найти нужный раздел просто — его имя состоит из названия приложения и его текущей версии, например Microsoft.Windows.Photos_17.425.10010.0_x64__8wekyb3d8bbwe. Все типы файлов, которые могут быть ассоциированы с данным приложением, перечислены в подразделе AppCapabilitiesFileAssociations.

ассоциации файлов для modern-приложений

Это тот же самый список, который можно увидеть в оснастке панели управления при выборе сопоставлений для программы.

Задание сопоставлений для программы

Этот список нельзя отредактировать. Можно изменить ассоциации для отдельно взятого типа файлов, но при сбросе настроек для наиболее популярных форматов графических файлов по умолчанию будет назначено приложение Photos. Это же касается и других modern-приложений, например браузером по умолчанию становится Edge, аудиоплеером — Groove и т.д.

Такое поведение системы не очень удобно, особенно с учетом того, что файловые ассоциации в Windows 10 могут сбрасываться самопроизвольно, например при установке обновлений. Но не все так плохо, и хотя нежелательное приложение нельзя убрать из списка, можно запретить его использование для открытия файлов определенного типа. Для этого необходимо в разделе HKCUSOFTWAREClasses найти раздел, соответствующий идентификатору приложения для нужного типа файлов. Значение идентификатора можно найти в описанном выше разделе FileAssociations, либо в разделе UserChoice, в параметре ProgID (предварительно сбросив настройки на дефолтные). Например для файлов png это то самое значение AppX43hnxtbyyps62jhe9sqpdzxn1790zetc.

Для того, чтобы приложение не предлагалось по умолчанию при сбросе настроек, в этом разделе надо создать строковый параметр NoStaticDefaultVerb с пустым значением. А если добавить параметр NoOpenWith, то приложение не будет предлагаться для выбора по умолчанию при настройке вручную и пропадет из списка «Открыть с помощью» в контекстном меню проводника. А при сбросе настроек выбор программы по умолчанию будут производиться согласно настройкам в HKEY_CLASSES_ROOT.

запрет на открытие файла данным приложением

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

Associating a file type with a program can be done using several ways, such as using the Open with… dialog and selecting the “Always use this app to open” checkbox, or via Default Programs or Default Apps. While you can set or change associations using GUI, there is no option provided to delete an existing file type association.

This post tells you how to remove file type associations using the Registry Editor.

Remove a File Type Association Using Registry Editor

Let’s say you’ve incorrectly associated a file type named .bak, and want to remove the association. Use these steps to remove the file association settings (for .bak) from the registry.

Before proceeding, create a System Restore Point. Additionally, export each registry key listed below to a .reg file prior to deleting, just in case you need them.

  1. Start the Registry Editor (regedit.exe), and go to this branch:
    HKEY_CLASSES_ROOT.bak
  2. Note down the (default) value data in the right pane. It’s the ProgID associated with that file type.
    find progid for a file type registry
  3. Right-click the key .bak, and choose Delete. Click Yes to confirm.
  4. Go to the following HKEY_CURRENT_USER keys and delete the .bak key.
    HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorerFileExts.bak
    HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsRoamingOpenWithFileExts.bak

    This should remove the file association settings for .bak file type. The deleted file type should now be treated as unknown by Windows; which is exactly what we wanted.

    Delete the Progid as well (optional)

    If you also want to clean up the ProgID key for that file type, which you noted (bak_auto_file) in Step #3 above, you must do so only if that ProgID bak_auto_file is not used by any other file type. This is important.

    How to find if any other file type(s) is mapped to the same ProgID?  Do a search (for Data containing the ProgID string – match whole string only) in the Registry Editor. Or run one of the commands given below to find it out.

    This time, let’s take the example of txtfile Progid. To view the list of file types that use the txtfile ProgID, run:

    Example: txtfile (progid used for .txt)

    assoc | findstr /i "txtfile"

    assoc findstr progid association

    (or)

    reg query hkcr /d /f "txtfile" /s

    reg query progid association

    In the above case, the following file extensions are still using the txtfile progid:

    .LOG | .SCP | .TXT | .WTX

    So, you should not remove the HKEY_CLASSES_ROOTtxtfile registry key, as it would break the association settings for other file types that use this key.

    Now, let’s use the above method and find out if any other file extensions are using the bak_auto_file Progid. Running the command for bak_autofile, you get this:

    assoc findstr progid association

    As no other file types are using this ProgID, you can safely delete this key:

    HKEY_CLASSES_ROOTbak_autofile

Summary

To remove the file association settings for .bak file type, we’ve deleted the following registry keys:

HKEY_CLASSES_ROOT.bak
HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorerFileExts.bak
HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsRoamingOpenWithFileExts.bak
HKEY_CLASSES_ROOTbak_auto_file

That’s it! Hope this guide helped you delete an unwanted or incorrect file type association on your Windows computer.


One small request: If you liked this post, please share this?

One «tiny» share from you would seriously help a lot with the growth of this blog.
Some great suggestions:

  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!

So thank you so much for your support. It won’t take more than 10 seconds of your time. The share buttons are right below. :)


Ezoic

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows.
Ramesh founded Winhelponline.com in 2005.

With Windows 8, the user’s choice for which application to open for a given document type seems to be kept in

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts<extension>UserChoice

For PDFs on my machine, this contains:

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdfUserChoice]
"Hash"="xh8KhPWlZL0="
"ProgId"="AcroExch.Document"

Yet on another machine the hash is different. What’s being hashed, and is there any way to create a .reg file which can be applied to another machine to set this preference?

js2010's user avatar

js2010

21.1k4 gold badges56 silver badges60 bronze badges

asked Jul 30, 2013 at 11:51

Adrian Taylor's user avatar

Adrian TaylorAdrian Taylor

4,0342 gold badges23 silver badges26 bronze badges

2

Someone reverse engineered the hash and wrote a CLI tool to set file associations:

http://kolbi.cz/blog/?p=346

extension = “.txt”; the file extension
sid = “S-1-5-21-463486358-3398762107-1964875780-1001” ; the SID of the current user
progid = “txtfile”; the ProgId of the desired association
regdate = “01d3442a29887400”; timestamp of the UserChoice registry key
experience = “a microsoft secret string”; a static string (this is a dummy example, not the real string
hash = Base64(MicrosoftHash(MD5(toLower(extension, sid, progid, regdate, experience))))

Not all details are revealed but probably enough to reverse engineer the rest.

answered Mar 13, 2018 at 12:38

regnarg's user avatar

1

Microsoft decided in Windows 8 (probably for security reasons) that users should be able to set default programs only via the built in GUI. I.e. by design, you are not supposed to be able to set default handlers in a script or programmatically.

The Hash value is used to prove that the UserChoice ProgId value was set by the user, and not by any other means. This works as long as Microsoft keeps the algorithm which generates the Hash, and the mechanism for verifying the ProgId using the Hash, a secret.

In theory you could figure out the secret to set the Hash (and possibly other hidden OS settings), but you would have no guarantee of it’s reliability; the next Windows Update might break your method, for example. You probably just need to adapt to the change, and live with using the new methods Microsoft built in to the OS.

hmqcnoesy's user avatar

hmqcnoesy

4,1153 gold badges30 silver badges47 bronze badges

answered Nov 18, 2014 at 21:34

user3642607's user avatar

1

By the way, these userchoice hashes in a profile become invalid after a sysprep, causing all those «an app default was reset» messages during the first login after sysprep, and many log entries in Microsoft-Windows-Shell-Core/AppDefaults.

answered Jan 9, 2020 at 21:58

js2010's user avatar

js2010js2010

21.1k4 gold badges56 silver badges60 bronze badges

Файловые ассоциации в операционных системах
семейства Windows

-Здравствуйте!У меня такая проблема-все ярлыки на рабочем столе открываются в блокноте…что посоветуете?
-Восстановление файловых ассоциаци…

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

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

Итак…

Что такое файловая ассоциация?

В Википедии есть примерно такое определение:

Ассоциация или ассоциирование файлов — в программном обеспечении привязывание файла (по расширению или по каким-либо другим признакам) к прикладной программе, которая обрабатывает эти файлы. При «вызове» этого файла, например, в файловом менеджере, вызовется связанная с ним программа и откроет файл.
Для многих файлов существует несколько стандартных действий: например, графический файл можно просмотреть, отредактировать или распечатать. Обычно по двойному щелчку открывается быстрая программа просмотра графики, в то время как редактирование (требующее сложных, долго загружающихся программ наподобие Photoshop и GIMP) доступно не столь легко.

Тут, в принципе, и добавить нечего)))

Как это выглядит в жизни?

Откроем в редакторе реестра раздел HKCR.
Там мы видим длинный список расширений вида .XXX
Откройте любой из них,например .reg
Это ассоциация reg файла.

В правом окне редактора мы увидим какому типу файлов ассоциировано это расширение:

Это regfile.

Практика:

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

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

Нажмите меню «Пуск»=>Введите cmd => По найденному объекту кликните правой кнопкой мыши и выберите пункт Запустить с правами администратора»

Далее вводим команду:

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

.mp4=WMP11.AssocFile.MP4
.mp4v=WMP11.AssocFile.MP4
.mpa=WMP11.AssocFile.MPEG
.mpe=WMP11.AssocFile.MPEG
.mpeg=WMP11.AssocFile.MPEG
.mpf=MediaPackageFile
.mpg=WMP11.AssocFile.MPEG
.mpv2=WMP11.AssocFile.MPEG
.msc=MSCFile
.msdvd=Windows.DVD.Maker
.msg=Outlook.File.msg.14
.msi=Msi.Package
.msp=Msi.Patch
.msrcincident=RemoteAssistance.1
.msstyles=msstylesfile
.msu=Microsoft.System.Update.1
.mts=WMP11.AssocFile.M2TS
.mydocs=CLSID{ECF03A32-103D-11d2-854D-006008059367}
.nfo=MSInfoFile
.nk2=Outlook.File.nk2.14
.ocx=ocxfile
.odc=odcfile
.odccubefile=odccubefile
.odcdatabasefile=odcdatabasefile
.odcnewfile=odcnewfile
.odctablefile=odctablefile
.odp=PowerPoint.OpenDocumentPresentation.12
.ods=Excel.OpenDocumentSpreadsheet.12
.odt=Word.OpenDocumentText.12
.ofs=Outlook.File.ofs.14
.oft=Outlook.File.oft.14
.ols=OfficeListShortcut
.one=OneNote.Section.1
.onepkg=OneNote.Package
.onetoc=OneNote.TableOfContents
.onetoc2=OneNote.TableOfContents.12
.opc=OPCFile
.oqy=oqyfile
.osdx=opensearchdescription
.ost=Outlook.File.ost.14
.otf=otffile
.otm=Outlook.File.otm.14
.ova=progId_VirtualBox.Shell.ova
.ovf=progId_VirtualBox.Shell.ovf
.p10=P10File
.p12=PFXFile
.p7b=SPCFile
.p7c=certificate_wab_auto_file
.p7m=P7MFile
.p7r=P7RFile
.p7s=P7SFile
.pab=Outlook.File.pab.14
.partial=IE.AssocFile.PARTIAL
.pbk=pbkfile
.pcb=PCBFile
.pdf=AcroExch.Document
.pdfxml=AcroExch.pdfxml
.pdx=PDXFileType
.perfmoncfg=Diagnostic.Perfmon.Config
.pfm=pfmfile
.pfx=PFXFile
.pif=piffile
.pko=PKOFile
.pnf=pnffile
.png=pngfile
.pot=PowerPoint.Template.8
.pothtml=powerpointhtmltemplate
.potm=PowerPoint.TemplateMacroEnabled.12
.potx=PowerPoint.Template.12
.ppa=PowerPoint.Addin.8
.ppam=PowerPoint.Addin.12
.pps=PowerPoint.SlideShow.8
.ppsm=PowerPoint.SlideShowMacroEnabled.12
.ppsx=PowerPoint.SlideShow.12
.ppt=PowerPoint.Show.8
.ppthtml=powerpointhtmlfile
.pptm=PowerPoint.ShowMacroEnabled.12
.pptmhtml=powerpointmhtmlfile
.pptx=PowerPoint.Show.12
.pptxml=powerpointxmlfile
.prf=prffile
.printerExport=brmFile
.ps1=Microsoft.PowerShellScript.1
.ps1xml=Microsoft.PowerShellXMLData.1
.psc1=Microsoft.PowerShellConsole.1
.psd1=Microsoft.PowerShellData.1
.psm1=Microsoft.PowerShellModule.1
.pst=Outlook.File.pst.14
.pub=Publisher.Document.14
.pubhtml=publisherhtmlfile
.pubmhtml=publishermhtmlfile
.PurblePairsSave-ms=MicrosoftPurblePairsSaveFile
.PurbleShopSave-ms=MicrosoftPurbleShopSaveFile
.pwz=PowerPoint.Wizard.8
.qds=SavedDsQuery
.r00=WinRAR
.r01=WinRAR
.r02=WinRAR
.r03=WinRAR
.r04=WinRAR
.r05=WinRAR
.r06=WinRAR
.r07=WinRAR
.r08=WinRAR
.r09=WinRAR
.r10=WinRAR
.r11=WinRAR
.r12=WinRAR
.r13=WinRAR
.r14=WinRAR
.r15=WinRAR
.r16=WinRAR
.r17=WinRAR
.r18=WinRAR
.r19=WinRAR
.r20=WinRAR
.r21=WinRAR
.r22=WinRAR
.r23=WinRAR
.r24=WinRAR
.r25=WinRAR
.r26=WinRAR
.r27=WinRAR
.r28=WinRAR
.r29=WinRAR
.rar=WinRAR
.rat=ratfile
.RDP=RDP.File
.reg=regfile
.rels=xmlfile
.resmoncfg=Diagnostic.Resmon.Config
.rev=WinRAR.REV
.rle=rlefile
.rll=dllfile
.rmi=WMP11.AssocFile.MIDI
.rqy=rqyfile
.rtf=Word.RTF.8
.SafeZone=SafeZone
.scf=SHCmdFile
.scp=txtfile
.scr=scrfile
.sct=scriptletfile
.sdf=Microsoft SQL Server Compact Edition Database File
.search-ms=SearchFolder
.searchConnector-ms=SearchConnectorFolder
.secstore=AcroExch.SecStore
.sfcache=RDBFileProperties.1
.shtml=shtmlfile
.sldm=PowerPoint.SlideMacroEnabled.12
.sldx=PowerPoint.Slide.12
.slk=Excel.SLK
.sln=VisualStudio.Launcher.sln
.slupkg-ms=MSSppPackageFile
.snd=WMP11.AssocFile.AU
.SolitaireSave-ms=MicrosoftSolitaireSaveFile
.spc=SPCFile
.SpiderSolitaireSave-ms=MicrosoftSpiderSolitaireSaveFile
.sst=CertificateStoreFile
.stl=STLFile
.suo=VisualStudio.Launcher.suo
.svg=svgfile
.sys=sysfile
.tar=WinRAR
.taz=WinRAR
.tbz=WinRAR
.tbz2=WinRAR
.tgz=WinRAR
.theme=themefile
.themepack=themepackfile
.thmx=OfficeTheme.12
.tif=TIFImage.Document
.tiff=TIFImage.Document
.ts=WMP11.AssocFile.TTS
.ttc=ttcfile
.ttf=ttffile
.tts=WMP11.AssocFile.TTS
.txt=txtfile
.UDL=MSDASC
.ui=UltraISO
.URL=InternetShortcut
.uu=WinRAR
.uue=WinRAR
.uxdc=UXDCFILE
.VBE=VBEFile
.vbox=progId_VirtualBox.Shell.vbox
.vbox-extpack=progId_VirtualBox.Shell.vbox-extpack
.vbs=VBSFile
.vcf=Outlook.File.vcf.14
.vcg=GrooveVCard
.vcs=Outlook.File.vcs.14
.vdi=progId_VirtualBox.Shell.vdi
.vdx=VisioViewer.Viewer
.vhd=progId_VirtualBox.Shell.vhd
.vmdk=progId_VirtualBox.Shell.vmdk
.vscontent=VisualStudio.ContentInstaller.vscontent
.vsd=VisioViewer.Viewer
.vsi=VisualStudio.ContentInstaller.vsi
.vss=VisioViewer.Viewer
.vst=VisioViewer.Viewer
.vsto=bootstrap.vsto.1
.vsx=VisioViewer.Viewer
.vtx=VisioViewer.Viewer
.vxd=vxdfile
.wab=wab_auto_file
.wav=WMP11.AssocFile.WAV
.wax=WMP11.AssocFile.WAX
.wbcat=wbcatfile
.wbk=Word.Backup.8
.wcx=wcxfile
.wdp=wdpfile
.webpnp=webpnpFile
.website=Microsoft.Website
.wiz=Word.Wizard.8
.wizhtml=accessthmltemplate
.wll=Word.Addin.8
.wm=WMP11.AssocFile.ASF
.wma=WMP11.AssocFile.WMA
.WMD=WMP11.AssocFile.WMD
.wmdb=WMP.WMDBFile
.wmf=wmffile
.WMS=WMP11.AssocFile.WMS
.wmv=WMP11.AssocFile.WMV
.wmx=WMP11.AssocFile.ASX
.wmz=WMP11.AssocFile.WMZ
.wpa=wpa.wpa_file
.wpl=WMP11.AssocFile.WPL
.wsc=scriptletfile
.WSF=WSFFile
.WSH=WSHFile
.WTV=MediaCenter.WTVFile
.wtx=txtfile
.wvx=WMP11.AssocFile.WVX
.xaml=Windows.XamlDocument
.xbap=Windows.Xbap
.xdp=AcroExch.XDPDoc
.xevgenxml=XEV.GenericApp
.xfdf=AcroExch.XFDFDoc
.xht=xhtmlfile
.xhtml=xhtmlfile
.xla=Excel.Addin
.xlam=Excel.AddInMacroEnabled
.xld=Excel.Dialog
.xlk=Excel.Backup
.xll=Excel.XLL
.xlm=Excel.Macrosheet
.xls=Excel.Sheet.8
.xlsb=Excel.SheetBinaryMacroEnabled.12
.xlshtml=Excelhtmlfile
.xlsm=Excel.SheetMacroEnabled.12
.xlsmhtml=excelmhtmlfile
.xlsx=Excel.Sheet.12
.xlt=Excel.Template.8
.xlthtml=Excelhtmltemplate
.xltm=Excel.TemplateMacroEnabled
.xltx=Excel.Template
.xlw=Excel.Workspace
.xlxml=Excelxmlss
.xml=xmlfile
.xps=Windows.XPSReachViewer
.xrm-ms=MSSppLicenseFile
.xsf=InfoPath.SolutionManifest.3
.xsl=xslfile
.xsn=InfoPath.Solution.3
.xtp=XTPFile
.xtp2=XTP2File
.xxe=WinRAR
.z=WinRAR
.zfsendtotarget=CLSID{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}
.zip=WinRAR.ZIP
._sln=VisualStudio.Launcher._sln
._sln60=VisualStudio.Launcher._sln60
._sln70=VisualStudio.Launcher._sln70
._sln71=VisualStudio.Launcher._sln71
._sln80=VisualStudio.Launcher._sln80
._vbxsln80=VisualStudio.Launcher._vbxsln80
._vcppxsln80=VisualStudio.Launcher._vcppxsln80
._vcsxsln80=VisualStudio.Launcher._vcsxsln80
._vjsxsln80=VisualStudio.Launcher._vjsxsln80
._vstasln80=VisualStudio.Launcher._vstasln80
._vwdxsln80=VisualStudio.Launcher._vwdxsln80

Но такой абракадабры недостаточно-не вручную же потом переписывать,правильно?
Сделаем ход конем-запустим скрипт,который добавит знак табуляции в каждую строку первым символом,а затем заменим знак табуляции на команду assoc.

@echo off
SetLocal EnableExtensions
(
For /F "delims=" %%? in ('assoc') do echo assoc %%?
) >%userprofile%documentsmyassoc.cmd

.mp4=WMP11.AssocFile.MP4
.mp4v=WMP11.AssocFile.MP4
.mpa=WMP11.AssocFile.MPEG
.mpe=WMP11.AssocFile.MPEG
.mpeg=WMP11.AssocFile.MPEG
.mpf=MediaPackageFile
.mpg=WMP11.AssocFile.MPEG
.mpv2=WMP11.AssocFile.MPEG
.msc=MSCFile
.msdvd=Windows.DVD.Maker
.msg=Outlook.File.msg.14
.msi=Msi.Package
.msp=Msi.Patch
.msrcincident=RemoteAssistance.1
.msstyles=msstylesfile
.msu=Microsoft.System.Update.1
.mts=WMP11.AssocFile.M2TS
.mydocs=CLSID{ECF03A32-103D-11d2-854D-006008059367}
.nfo=MSInfoFile
.nk2=Outlook.File.nk2.14
.ocx=ocxfile
.odc=odcfile
.odccubefile=odccubefile
.odcdatabasefile=odcdatabasefile
.odcnewfile=odcnewfile
.odctablefile=odctablefile
.odp=PowerPoint.OpenDocumentPresentation.12
.ods=Excel.OpenDocumentSpreadsheet.12
.odt=Word.OpenDocumentText.12
.ofs=Outlook.File.ofs.14
.oft=Outlook.File.oft.14
.ols=OfficeListShortcut
.one=OneNote.Section.1
.onepkg=OneNote.Package
.onetoc=OneNote.TableOfContents
.onetoc2=OneNote.TableOfContents.12
.opc=OPCFile
.oqy=oqyfile
.osdx=opensearchdescription
.ost=Outlook.File.ost.14
.otf=otffile
.otm=Outlook.File.otm.14
.ova=progId_VirtualBox.Shell.ova
.ovf=progId_VirtualBox.Shell.ovf
.p10=P10File
.p12=PFXFile
.p7b=SPCFile
.p7c=certificate_wab_auto_file
.p7m=P7MFile
.p7r=P7RFile
.p7s=P7SFile
.pab=Outlook.File.pab.14
.partial=IE.AssocFile.PARTIAL
.pbk=pbkfile
.pcb=PCBFile
.pdf=AcroExch.Document
.pdfxml=AcroExch.pdfxml
.pdx=PDXFileType
.perfmoncfg=Diagnostic.Perfmon.Config
.pfm=pfmfile
.pfx=PFXFile
.pif=piffile
.pko=PKOFile
.pnf=pnffile
.png=pngfile
.pot=PowerPoint.Template.8
.pothtml=powerpointhtmltemplate
.potm=PowerPoint.TemplateMacroEnabled.12
.potx=PowerPoint.Template.12
.ppa=PowerPoint.Addin.8
.ppam=PowerPoint.Addin.12
.pps=PowerPoint.SlideShow.8
.ppsm=PowerPoint.SlideShowMacroEnabled.12
.ppsx=PowerPoint.SlideShow.12
.ppt=PowerPoint.Show.8
.ppthtml=powerpointhtmlfile
.pptm=PowerPoint.ShowMacroEnabled.12
.pptmhtml=powerpointmhtmlfile
.pptx=PowerPoint.Show.12
.pptxml=powerpointxmlfile
.prf=prffile
.printerExport=brmFile
.ps1=Microsoft.PowerShellScript.1
.ps1xml=Microsoft.PowerShellXMLData.1
.psc1=Microsoft.PowerShellConsole.1
.psd1=Microsoft.PowerShellData.1
.psm1=Microsoft.PowerShellModule.1
.pst=Outlook.File.pst.14
.pub=Publisher.Document.14
.pubhtml=publisherhtmlfile
.pubmhtml=publishermhtmlfile
.PurblePairsSave-ms=MicrosoftPurblePairsSaveFile
.PurbleShopSave-ms=MicrosoftPurbleShopSaveFile
.pwz=PowerPoint.Wizard.8
.qds=SavedDsQuery
.r00=WinRAR
.r01=WinRAR
.r02=WinRAR
.r03=WinRAR
.r04=WinRAR
.r05=WinRAR
.r06=WinRAR
.r07=WinRAR
.r08=WinRAR
.r09=WinRAR
.r10=WinRAR
.r11=WinRAR
.r12=WinRAR
.r13=WinRAR
.r14=WinRAR
.r15=WinRAR
.r16=WinRAR
.r17=WinRAR
.r18=WinRAR
.r19=WinRAR
.r20=WinRAR
.r21=WinRAR
.r22=WinRAR
.r23=WinRAR
.r24=WinRAR
.r25=WinRAR
.r26=WinRAR
.r27=WinRAR
.r28=WinRAR
.r29=WinRAR
.rar=WinRAR
.rat=ratfile
.RDP=RDP.File
.reg=regfile
.rels=xmlfile
.resmoncfg=Diagnostic.Resmon.Config
.rev=WinRAR.REV
.rle=rlefile
.rll=dllfile
.rmi=WMP11.AssocFile.MIDI
.rqy=rqyfile
.rtf=Word.RTF.8
.SafeZone=SafeZone
.scf=SHCmdFile
.scp=txtfile
.scr=scrfile
.sct=scriptletfile
.sdf=Microsoft SQL Server Compact Edition Database File
.search-ms=SearchFolder
.searchConnector-ms=SearchConnectorFolder
.secstore=AcroExch.SecStore
.sfcache=RDBFileProperties.1
.shtml=shtmlfile
.sldm=PowerPoint.SlideMacroEnabled.12
.sldx=PowerPoint.Slide.12
.slk=Excel.SLK
.sln=VisualStudio.Launcher.sln
.slupkg-ms=MSSppPackageFile
.snd=WMP11.AssocFile.AU
.SolitaireSave-ms=MicrosoftSolitaireSaveFile
.spc=SPCFile
.SpiderSolitaireSave-ms=MicrosoftSpiderSolitaireSaveFile
.sst=CertificateStoreFile
.stl=STLFile
.suo=VisualStudio.Launcher.suo
.svg=svgfile
.sys=sysfile
.tar=WinRAR
.taz=WinRAR
.tbz=WinRAR
.tbz2=WinRAR
.tgz=WinRAR
.theme=themefile
.themepack=themepackfile
.thmx=OfficeTheme.12
.tif=TIFImage.Document
.tiff=TIFImage.Document
.ts=WMP11.AssocFile.TTS
.ttc=ttcfile
.ttf=ttffile
.tts=WMP11.AssocFile.TTS
.txt=txtfile
.UDL=MSDASC
.ui=UltraISO
.URL=InternetShortcut
.uu=WinRAR
.uue=WinRAR
.uxdc=UXDCFILE
.VBE=VBEFile
.vbox=progId_VirtualBox.Shell.vbox
.vbox-extpack=progId_VirtualBox.Shell.vbox-extpack
.vbs=VBSFile
.vcf=Outlook.File.vcf.14
.vcg=GrooveVCard
.vcs=Outlook.File.vcs.14
.vdi=progId_VirtualBox.Shell.vdi
.vdx=VisioViewer.Viewer
.vhd=progId_VirtualBox.Shell.vhd
.vmdk=progId_VirtualBox.Shell.vmdk
.vscontent=VisualStudio.ContentInstaller.vscontent
.vsd=VisioViewer.Viewer
.vsi=VisualStudio.ContentInstaller.vsi
.vss=VisioViewer.Viewer
.vst=VisioViewer.Viewer
.vsto=bootstrap.vsto.1
.vsx=VisioViewer.Viewer
.vtx=VisioViewer.Viewer
.vxd=vxdfile
.wab=wab_auto_file
.wav=WMP11.AssocFile.WAV
.wax=WMP11.AssocFile.WAX
.wbcat=wbcatfile
.wbk=Word.Backup.8
.wcx=wcxfile
.wdp=wdpfile
.webpnp=webpnpFile
.website=Microsoft.Website
.wiz=Word.Wizard.8
.wizhtml=accessthmltemplate
.wll=Word.Addin.8
.wm=WMP11.AssocFile.ASF
.wma=WMP11.AssocFile.WMA
.WMD=WMP11.AssocFile.WMD
.wmdb=WMP.WMDBFile
.wmf=wmffile
.WMS=WMP11.AssocFile.WMS
.wmv=WMP11.AssocFile.WMV
.wmx=WMP11.AssocFile.ASX
.wmz=WMP11.AssocFile.WMZ
.wpa=wpa.wpa_file
.wpl=WMP11.AssocFile.WPL
.wsc=scriptletfile
.WSF=WSFFile
.WSH=WSHFile
.WTV=MediaCenter.WTVFile
.wtx=txtfile
.wvx=WMP11.AssocFile.WVX
.xaml=Windows.XamlDocument
.xbap=Windows.Xbap
.xdp=AcroExch.XDPDoc
.xevgenxml=XEV.GenericApp
.xfdf=AcroExch.XFDFDoc
.xht=xhtmlfile
.xhtml=xhtmlfile
.xla=Excel.Addin
.xlam=Excel.AddInMacroEnabled
.xld=Excel.Dialog
.xlk=Excel.Backup
.xll=Excel.XLL
.xlm=Excel.Macrosheet
.xls=Excel.Sheet.8
.xlsb=Excel.SheetBinaryMacroEnabled.12
.xlshtml=Excelhtmlfile
.xlsm=Excel.SheetMacroEnabled.12
.xlsmhtml=excelmhtmlfile
.xlsx=Excel.Sheet.12
.xlt=Excel.Template.8
.xlthtml=Excelhtmltemplate
.xltm=Excel.TemplateMacroEnabled
.xltx=Excel.Template
.xlw=Excel.Workspace
.xlxml=Excelxmlss
.xml=xmlfile
.xps=Windows.XPSReachViewer
.xrm-ms=MSSppLicenseFile
.xsf=InfoPath.SolutionManifest.3
.xsl=xslfile
.xsn=InfoPath.Solution.3
.xtp=XTPFile
.xtp2=XTP2File
.xxe=WinRAR
.z=WinRAR
.zfsendtotarget=CLSID{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}
.zip=WinRAR.ZIP
._sln=VisualStudio.Launcher._sln
._sln60=VisualStudio.Launcher._sln60
._sln70=VisualStudio.Launcher._sln70
._sln71=VisualStudio.Launcher._sln71
._sln80=VisualStudio.Launcher._sln80
._vbxsln80=VisualStudio.Launcher._vbxsln80
._vcppxsln80=VisualStudio.Launcher._vcppxsln80
._vcsxsln80=VisualStudio.Launcher._vcsxsln80
._vjsxsln80=VisualStudio.Launcher._vjsxsln80
._vstasln80=VisualStudio.Launcher._vstasln80
._vwdxsln80=VisualStudio.Launcher._vwdxsln80

Что мы сделали?
Просто добавили в список полученных командой assoc ассоциации код

@echo off
SetLocal EnableExtensions
(
For /F "delims=" %%? in ('assoc') do echo assoc %%?
) > myassoc.cmd

И сохранили в bat-файл,запустив который мы получаем bat в папке Документы под названием myassoc.cmd.
Запустив этот файл от имени администратора мы восстановим все ассоциации сохраненные скриптом.

И вот уже получилось гораздо интереснее:

assoc.mp4=WMP11.AssocFile.MP4
assoc.mp4v=WMP11.AssocFile.MP4
assoc.mpa=WMP11.AssocFile.MPEG
assoc.mpe=WMP11.AssocFile.MPEG
assoc.mpeg=WMP11.AssocFile.MPEG
assoc.mpf=MediaPackageFile
assoc.mpg=WMP11.AssocFile.MPEG
assoc.mpv2=WMP11.AssocFile.MPEG
assoc.msc=MSCFile
assoc.msdvd=Windows.DVD.Maker
assoc.msg=Outlook.File.msg.14
assoc.msi=Msi.Package
assoc.msp=Msi.Patch
assoc.msrcincident=RemoteAssistance.1
assoc.msstyles=msstylesfile
assoc.msu=Microsoft.System.Update.1
assoc.mts=WMP11.AssocFile.M2TS
assoc.mydocs=CLSID{ECF03A32-103D-11d2-854D-006008059367}
assoc.nfo=MSInfoFile
assoc.nk2=Outlook.File.nk2.14
assoc.ocx=ocxfile
assoc.odc=odcfile
assoc.odccubefile=odccubefile
assoc.odcdatabasefile=odcdatabasefile
assoc.odcnewfile=odcnewfile
assoc.odctablefile=odctablefile
assoc.odp=PowerPoint.OpenDocumentPresentation.12
assoc.ods=Excel.OpenDocumentSpreadsheet.12
assoc.odt=Word.OpenDocumentText.12
assoc.ofs=Outlook.File.ofs.14
assoc.oft=Outlook.File.oft.14
assoc.ols=OfficeListShortcut
assoc.one=OneNote.Section.1
assoc.onepkg=OneNote.Package
assoc.onetoc=OneNote.TableOfContents
assoc.onetoc2=OneNote.TableOfContents.12
assoc.opc=OPCFile
assoc.oqy=oqyfile
assoc.osdx=opensearchdescription
assoc.ost=Outlook.File.ost.14
assoc.otf=otffile
assoc.otm=Outlook.File.otm.14
assoc.ova=progId_VirtualBox.Shell.ova
assoc.ovf=progId_VirtualBox.Shell.ovf
assoc.p10=P10File
assoc.p12=PFXFile
assoc.p7b=SPCFile
assoc.p7c=certificate_wab_auto_file
assoc.p7m=P7MFile
assoc.p7r=P7RFile
assoc.p7s=P7SFile
assoc.pab=Outlook.File.pab.14
assoc.partial=IE.AssocFile.PARTIAL
assoc.pbk=pbkfile
assoc.pcb=PCBFile
assoc.pdf=AcroExch.Document
assoc.pdfxml=AcroExch.pdfxml
assoc.pdx=PDXFileType
assoc.perfmoncfg=Diagnostic.Perfmon.Config
assoc.pfm=pfmfile
assoc.pfx=PFXFile
assoc.pif=piffile
assoc.pko=PKOFile
assoc.pnf=pnffile
assoc.png=pngfile
assoc.pot=PowerPoint.Template.8
assoc.pothtml=powerpointhtmltemplate
assoc.potm=PowerPoint.TemplateMacroEnabled.12
assoc.potx=PowerPoint.Template.12
assoc.ppa=PowerPoint.Addin.8
assoc.ppam=PowerPoint.Addin.12
assoc.pps=PowerPoint.SlideShow.8
assoc.ppsm=PowerPoint.SlideShowMacroEnabled.12
assoc.ppsx=PowerPoint.SlideShow.12
assoc.ppt=PowerPoint.Show.8
assoc.ppthtml=powerpointhtmlfile
assoc.pptm=PowerPoint.ShowMacroEnabled.12
assoc.pptmhtml=powerpointmhtmlfile
assoc.pptx=PowerPoint.Show.12
assoc.pptxml=powerpointxmlfile
assoc.prf=prffile
assoc.printerExport=brmFile
assoc.ps1=Microsoft.PowerShellScript.1
assoc.ps1xml=Microsoft.PowerShellXMLData.1
assoc.psc1=Microsoft.PowerShellConsole.1
assoc.psd1=Microsoft.PowerShellData.1
assoc.psm1=Microsoft.PowerShellModule.1
assoc.pst=Outlook.File.pst.14
assoc.pub=Publisher.Document.14
assoc.pubhtml=publisherhtmlfile
assoc.pubmhtml=publishermhtmlfile
assoc.PurblePairsSave-ms=MicrosoftPurblePairsSaveFile
assoc.PurbleShopSave-ms=MicrosoftPurbleShopSaveFile
assoc.pwz=PowerPoint.Wizard.8
assoc.qds=SavedDsQuery
assoc.r00=WinRAR
assoc.r01=WinRAR
assoc.r02=WinRAR
assoc.r03=WinRAR
assoc.r04=WinRAR
assoc.r05=WinRAR
assoc.r06=WinRAR
assoc.r07=WinRAR
assoc.r08=WinRAR
assoc.r09=WinRAR
assoc.r10=WinRAR
assoc.r11=WinRAR
assoc.r12=WinRAR
assoc.r13=WinRAR
assoc.r14=WinRAR
assoc.r15=WinRAR
assoc.r16=WinRAR
assoc.r17=WinRAR
assoc.r18=WinRAR
assoc.r19=WinRAR
assoc.r20=WinRAR
assoc.r21=WinRAR
assoc.r22=WinRAR
assoc.r23=WinRAR
assoc.r24=WinRAR
assoc.r25=WinRAR
assoc.r26=WinRAR
assoc.r27=WinRAR
assoc.r28=WinRAR
assoc.r29=WinRAR
assoc.rar=WinRAR
assoc.rat=ratfile
assoc.RDP=RDP.File
assoc.reg=regfile
assoc.rels=xmlfile
assoc.resmoncfg=Diagnostic.Resmon.Config
assoc.rev=WinRAR.REV
assoc.rle=rlefile
assoc.rll=dllfile
assoc.rmi=WMP11.AssocFile.MIDI
assoc.rqy=rqyfile
assoc.rtf=Word.RTF.8
assoc.SafeZone=SafeZone
assoc.scf=SHCmdFile
assoc.scp=txtfile
assoc.scr=scrfile
assoc.sct=scriptletfile
assoc.sdf=Microsoft SQL Server Compact Edition Database File
assoc.search-ms=SearchFolder
assoc.searchConnector-ms=SearchConnectorFolder
assoc.secstore=AcroExch.SecStore
assoc.sfcache=RDBFileProperties.1
assoc.shtml=shtmlfile
assoc.sldm=PowerPoint.SlideMacroEnabled.12
assoc.sldx=PowerPoint.Slide.12
assoc.slk=Excel.SLK
assoc.sln=VisualStudio.Launcher.sln
assoc.slupkg-ms=MSSppPackageFile
assoc.snd=WMP11.AssocFile.AU
assoc.SolitaireSave-ms=MicrosoftSolitaireSaveFile
assoc.spc=SPCFile
assoc.SpiderSolitaireSave-ms=MicrosoftSpiderSolitaireSaveFile
assoc.sst=CertificateStoreFile
assoc.stl=STLFile
assoc.suo=VisualStudio.Launcher.suo
assoc.svg=svgfile
assoc.sys=sysfile
assoc.tar=WinRAR
assoc.taz=WinRAR
assoc.tbz=WinRAR
assoc.tbz2=WinRAR
assoc.tgz=WinRAR
assoc.theme=themefile
assoc.themepack=themepackfile
assoc.thmx=OfficeTheme.12
assoc.tif=TIFImage.Document
assoc.tiff=TIFImage.Document
assoc.ts=WMP11.AssocFile.TTS
assoc.ttc=ttcfile
assoc.ttf=ttffile
assoc.tts=WMP11.AssocFile.TTS
assoc.txt=txtfile
assoc.UDL=MSDASC
assoc.ui=UltraISO
assoc.URL=InternetShortcut
assoc.uu=WinRAR
assoc.uue=WinRAR
assoc.uxdc=UXDCFILE
assoc.VBE=VBEFile
assoc.vbox=progId_VirtualBox.Shell.vbox
assoc.vbox-extpack=progId_VirtualBox.Shell.vbox-extpack
assoc.vbs=VBSFile
assoc.vcf=Outlook.File.vcf.14
assoc.vcg=GrooveVCard
assoc.vcs=Outlook.File.vcs.14
assoc.vdi=progId_VirtualBox.Shell.vdi
assoc.vdx=VisioViewer.Viewer
assoc.vhd=progId_VirtualBox.Shell.vhd
assoc.vmdk=progId_VirtualBox.Shell.vmdk
assoc.vscontent=VisualStudio.ContentInstaller.vscontent
assoc.vsd=VisioViewer.Viewer
assoc.vsi=VisualStudio.ContentInstaller.vsi
assoc.vss=VisioViewer.Viewer
assoc.vst=VisioViewer.Viewer
assoc.vsto=bootstrap.vsto.1
assoc.vsx=VisioViewer.Viewer
assoc.vtx=VisioViewer.Viewer
assoc.vxd=vxdfile
assoc.wab=wab_auto_file
assoc.wav=WMP11.AssocFile.WAV
assoc.wax=WMP11.AssocFile.WAX
assoc.wbcat=wbcatfile
assoc.wbk=Word.Backup.8
assoc.wcx=wcxfile
assoc.wdp=wdpfile
assoc.webpnp=webpnpFile
assoc.website=Microsoft.Website
assoc.wiz=Word.Wizard.8
assoc.wizhtml=accessthmltemplate
assoc.wll=Word.Addin.8
assoc.wm=WMP11.AssocFile.ASF
assoc.wma=WMP11.AssocFile.WMA
assoc.WMD=WMP11.AssocFile.WMD
assoc.wmdb=WMP.WMDBFile
assoc.wmf=wmffile
assoc.WMS=WMP11.AssocFile.WMS
assoc.wmv=WMP11.AssocFile.WMV
assoc.wmx=WMP11.AssocFile.ASX
assoc.wmz=WMP11.AssocFile.WMZ
assoc.wpa=wpa.wpa_file
assoc.wpl=WMP11.AssocFile.WPL
assoc.wsc=scriptletfile
assoc.WSF=WSFFile
assoc.WSH=WSHFile
assoc.WTV=MediaCenter.WTVFile
assoc.wtx=txtfile
assoc.wvx=WMP11.AssocFile.WVX
assoc.xaml=Windows.XamlDocument
assoc.xbap=Windows.Xbap
assoc.xdp=AcroExch.XDPDoc
assoc.xevgenxml=XEV.GenericApp
assoc.xfdf=AcroExch.XFDFDoc
assoc.xht=xhtmlfile
assoc.xhtml=xhtmlfile
assoc.xla=Excel.Addin
assoc.xlam=Excel.AddInMacroEnabled
assoc.xld=Excel.Dialog
assoc.xlk=Excel.Backup
assoc.xll=Excel.XLL
assoc.xlm=Excel.Macrosheet
assoc.xls=Excel.Sheet.8
assoc.xlsb=Excel.SheetBinaryMacroEnabled.12
assoc.xlshtml=Excelhtmlfile
assoc.xlsm=Excel.SheetMacroEnabled.12
assoc.xlsmhtml=excelmhtmlfile
assoc.xlsx=Excel.Sheet.12
assoc.xlt=Excel.Template.8
assoc.xlthtml=Excelhtmltemplate
assoc.xltm=Excel.TemplateMacroEnabled
assoc.xltx=Excel.Template
assoc.xlw=Excel.Workspace
assoc.xlxml=Excelxmlss
assoc.xml=xmlfile
assoc.xps=Windows.XPSReachViewer
assoc.xrm-ms=MSSppLicenseFile
assoc.xsf=InfoPath.SolutionManifest.3
assoc.xsl=xslfile
assoc.xsn=InfoPath.Solution.3
assoc.xtp=XTPFile
assoc.xtp2=XTP2File
assoc.xxe=WinRAR
assoc.z=WinRAR
assoc.zfsendtotarget=CLSID{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}
assoc.zip=WinRAR.ZIP
assoc._sln=VisualStudio.Launcher._sln
assoc._sln60=VisualStudio.Launcher._sln60
assoc._sln70=VisualStudio.Launcher._sln70
assoc._sln71=VisualStudio.Launcher._sln71
assoc._sln80=VisualStudio.Launcher._sln80
assoc._vbxsln80=VisualStudio.Launcher._vbxsln80
assoc._vcppxsln80=VisualStudio.Launcher._vcppxsln80
assoc._vcsxsln80=VisualStudio.Launcher._vcsxsln80
assoc._vjsxsln80=VisualStudio.Launcher._vjsxsln80
assoc._vstasln80=VisualStudio.Launcher._vstasln80
assoc._vwdxsln80=VisualStudio.Launcher._vwdxsln80

Теперь сохраняем это все в bat-файл и теперь я в любой момент в два клика мышкой восстановлю свой ассоциации.
Точно так же можно точечно изменять какие либо конкретные ассоциации.
Либо можно воспользоваться твиками из этой темы:
Восстановление файловых ассоциаций

Тут вроде понятно…но и что с того что regfile? Выше мы определили принадлежность ассоциированного расширения к этому типу файлов.
Как система должна понять каким приложением открыть такой файл?

Тут в на сцене появляется Prog Id.

Система использует разделы и параметры реестра программных идентификаторов (programatic identifier или ProgID), чтобы ассоциировать тип файла с приложением, и чтобы контролировать поведение ассоциации. Записи ProgID, используемые для файловых ассоциаций, хранятся в параметре раздела реестра HKEY_CLASSES_ROOT.

Они имеют примерно такой вид:

Prog id

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

Prog id 2

Практика:

Создаем собственное расширение и задаем ему ассоциацию.

Представим ,что мы написали какую нибудь программу.
Ну например пусть это будет уже известная софтина,скажем, Notepad++
предположим что эта программа работает с файлами собственного расширения,как указать системе,что эти файлы должны открываться программой Notepad++ ?

Создадим для него раздел Progid.

А в нем подразделы и параметры таким reg-файлом:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTSafeZone]
@=""
"EditFlags"="0x00008000"

[HKEY_CLASSES_ROOTSafeZoneDefaultIcon]
@="D:\Program Files\Notepad++\Notepad++.exe"

[HKEY_CLASSES_ROOTSafeZoneshell]

[HKEY_CLASSES_ROOTSafeZoneshellopen]

[HKEY_CLASSES_ROOTSafeZoneshellopencommand]
@=""D:\Program Files\Notepad++\Notepad++.exe" %1"

Prog id sz

Поясню что и как.
Создаем раздел

[HKEY_CLASSES_ROOTSafeZone]

А в нем подразделы

[HKEY_CLASSES_ROOTSafeZoneDefaultIcon]

Это для того что бы задать иконку для изображения.

[HKEY_CLASSES_ROOTSafeZoneshell]

[HKEY_CLASSES_ROOTSafeZoneshellopen]

[HKEY_CLASSES_ROOTSafeZoneshellopencommand]

Соответственно shell добавляет диалоговое меню для работы с расширением из контексного меню.
Open-зарезервированный глагол (о глаголах не в этой теме),открытие файла.
Command-задает команду консоли выполнения действия при открытии файла.

в нашем случае это

@=""D:\Program Files\Notepad++\Notepad++.exe" %1

То есть открыть с помощью программы Notepad++.

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

Вот таблица возможных значений:

Элемент| Описание
(Default)(До Windows 2000) | Это необязательное значение,которое ко всему прочему еще и устарело. Установите значение по-умолчанию для ProgID в название формата файлов для этого ProgID, пригодное для показа пользователю. Это поле устарело в Windows 2000 и выше. Вместо него лучше использовать значение FriendlyName (см. ниже). Тем не менее, вы должны установить это поле для совместимости со старыми программами. Для согласованности — здесь должны быть те же данные, что и в поле FriendlyName (но только для одного языка).

AppUserModelID (Windows 7 и выше)| Это необязательное значение идентификатор модели пользователя приложения (Application User Model ID, AppUserModelID), если приложение использует явный (explicit) AppUserModelID и использует либо автоматически сгенерированные системой Jump-списки Недавние или Часто используемые или предоставляет свой Jump-список. Если приложение использует явный AppUserModelID, но не устанавливает это значение, то элементы не будут появляться в Jump-списках этого приложения. Это строка типа REG_SZ.

EditFlags | Это необязательное значение, используются флаги . Запись EditFlags контролирует некоторые аспекты в обработке типа файла, ассоциированного с этим ProgID, Оболочкой. Вы также можете использовать запись EditFlags, чтобы ограничить возможность изменения некоторых аспектов этих файловых типов пользователем. Значения флагов, используемые для EditFlags, являются двоичными значениями, предназначенными для комбинирования с использованием логической операции ИЛИ. Это значение может иметь тип REG_DWORD или REG_BINARY.

FriendlyTypeName| Установите в эту запись название типа файлов (friendly name) этого ProgID, пригодного к показу пользователю. Для согласованности — здесь должны быть те же данные, что и в значении по-умолчанию (см. выше). Эта запись может быть типа REG_SZ или REG_EXPAND_SZ, но должна быть оформлена как косвенная строка (indirect string) — т.е. полное имя файла и значение ресурса, с ведомым @, например: @%SystemRoot%shell32.dll,-267.

InfoTip| Установите в эту запись краткое описание, которое Оболочка будет показывать для этого ProgID. Запись InfoTip показывается, когда пользователь задерживает мышь над файлом этого типа. Это значение может иметь тип REG_SZ или REG_EXPAND_SZ, но, как и FriendlyTypeName, оно должно быть косвенной строкой.

CurVer | Установите запись по-умолчанию этого подключа на самую последнюю версию ProgID.
Примечание: если только вы не разрабатываете side-by-side приложение (т.е. приложение, которое допускает одновременную установку нескольких своих различных версий на одну машину), то вам не следует использовать запись CurVer.

DefaultIcon.| Установите значение по-умолчанию этого раздела=путь к иконке которую вы хотите показывать для файловых типов, ассоциированных с этим ProgID. Это значение может быть либо REG_SZ, либо REG_EXPAND_SZ, но оно должно иметь формат полного имени файла со значением ресурса через запятую, например: %SystemRoot%shell32.dll,-267.

Далее необходимо задать ассоциацию расширению файла.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT.SafeZone]
@="SafeZone"
"EditFlags"="0x00008000"
[HKEY_CLASSES_ROOT.SafeZoneShellNew]
"NullFile"=""
@=""
"FileName"="D:\Windows\ShellNew\NewFile.SafeZone"

Тут подробности:

[HKEY_CLASSES_ROOT.SafeZone]
@="SafeZone"

Таким образом я указываю что расширение .SafeZone ассоциировано с файлами типа SafeZone,которые обрабатываются программой Notepad++

[HKEY_CLASSES_ROOT.SafeZoneShellNew]
"NullFile"=""
@=""
"FileName"="D:\Windows\ShellNew\NewFile.SafeZone"

Это создание пункта в меню «создать» ,в котором я смогу создавать файлы SafeZone через меню правой кнопки мыши.

И вот у меня в системе уже появился первый образец файла:

File

И открывается он программой Notepad++

4

Дополнительные вопросы и обсуждение темы:
http://safezone.cc/threads/voprosy-k-state-fajlovye-associacii-znakomimsja-na-praktike.22970/

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

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

  1. Правой кнопкой мышки;
  2. Комбинацией Shift+F10;
  3. Специальной клавишей на клавиатуре;Клавиша на клавиатуре
  4. Жестами мышки – выбрать объект, нажать на него левой клавишей мышки и удержать.

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

Меню «Открыть с помощью…»

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

Список формирует сама система, но его можно изменить с помощью реестра Windows:

  1. Вызвать строку «Выполнить» и прописать там команду «regedit»;Вход в реестр
  2. В открывшемся окне перейти HKCU/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExts/Расширение/OpenWithList;Изменение реестра
  3. В столбце Значение вызвать выпадающий список на нужной программе и выбрать «Удалить».

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

  • Откроется окно с перечнем программ;
  • Надо выбрать программу и кликнуть на красную точку сверху для ее удаления из перечня.Утилита OpenWithView

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

  • Открыв его в ветке HKEY_CLASSES_ROOTApplications, создать подраздел (его имя – имя исполняемого файла);
  • В созданном подразделе добавить shell/open/command;
  • Кликнуть 2 раза «По умолчанию» и в графе Значение прописать полный путь;Изменяем реестр
  • Перейти в ветку OpenWithList и создать именной параметр (имя должно включать 1 латинскую букву);
  • Кликнуть 2 раза по созданному параметру и указать такое же значение, как и имя исполняющего файла (п.1);
  • Выбрать параметр MRUList и кликнуть по нему 2 раза;
  • Указать в очереди букву имени созданного параметра.

Если же варианта «Открыть с…» вообще нет, то:

  1. В ветке HKEY_CLASSES_ROOT/*shellex/ContextMenuHandlers создать «Open With»;
  2. Внутри него кликнуть 2 раза «По умолчанию» и прописать {09799AFB-AD67-11d1-ABCD-00C04FC30936} в графе Значение.Добавляем значения

После всего просто закрыть окно реестра и приступить к работе.

Как убрать пункты в контекстном меню

Удалить ненужные пункты можно с помощью настроек самой программы, которую надо убрать. Рассмотрим на примере архиватора WinRar:

  1. В открытом окне приложения перейти на вкладку Параметры – Интеграция;
  2. Убрать галочку с «Вложенные контекстные меню».Исключение из меню

Есть и другой путь:

  1. В окне реестра перейти в раздел */shellexe/ContextMenuHandlers;
  2. В списке найти нужный пункт и кликнуть на нем ПКМ;
  3. Выбрать «Удалить» и «Да»;
  4. Выйти и перезагрузить систему.

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

  • Файлы:

shellexe/ContextMenuHandlers

AllFileSystemObjectsShellExContextMenuHandlers

  • Папки:

DirectoryshellexContextMenuHandlers

Foldershell или shellexContextMenuHandlers

  • Запоминающие устройства:

Driveshell или shellexContextMenuHandlers

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

*OpenWithList

  • «Мой компьютер«:

CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}shell

  • Рабочий стол:

DesktopBackgroundShell или shellexContextMenuHandlers

  • «Корзина«:

CLSID{645FF040-5081-101B-9F08-00AA002F954E}shell

Есть еще один вариант редактирования – это использование специальных приложений.

ShellExView

Скачать программу можно по ссылке, а после установки приступить к работе:

  1. Отсортировать по типу (кликнуть на имя столбца);
  2. Вначале будут идти приложения, которые включены в меню;
  3. Вызвать на приложении выпадающий список и выбрать «Disable» для удаления пункта и «Enable» для добавления.Утилита ShellExView

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

Ultimate Windows Context Menu Customizer

Утилиту можно скачать по ссылке. Она поможет с редактированием и настройкой меню.Окно программы

После скачивания откроется активное окошко, которое поделено на отдельные части. Достаточно выбрать конкретное меню в графе Location и приложение в нем из графы Items, а затем с помощью стрелок внизу удалить или добавить его в меню.

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

FileMenu Tools

Очередная вспомогательная утилита, которую можно найти по ссылке и которая поможет навести порядок. После установки откроется рабочее окно с графами: Actions — для выбора действий, Properties – для настройки параметров. Третья большая графа содержит три вкладки – для управления элементами, для настройки пункта «Отправить» и для отключения пунктов.Редактирование меню

Чтобы добавить элемент:

  1. Выбрать «Add Command»;
  2. Добавить название опции в «Menu Text»;
  3. В «Extensions» указать расширение файла;
  4. Выставить параметры для папок и файлов в графе Properties и путь к файлу;
  5. Кликнуть на зеленый кружок верху.

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

CCleaner

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

Чтобы редактировать меню надо:

  1. Запустить программу в полноэкранном режиме;
  2. Открыть Сервис – Автозагрузка — Контекстное меню;
  3. Выбрать приложение из списка и управлять им с помощью расположенных слева кнопок «Выключить», «Включить» и «Удалить».

Управлять можно с помощью клавиш или изображенных стрелок.

Glary Utilities

Программа используется как оптимизатор всей ОС и выпадающих списков, в частности.Работа с Glary Utilities

Для настройки меню:

  1. Вкладка Модули – Менеджер контекстного меню;
  2. Выставляя и убирая галочки, пользователь редактирует список приложений, убирая ненужные или зависающие.

Приятный и простой интерфейс на русском языке способствует быстрому ознакомлению и простой работе с утилитой.

Частые вопросы

Что делать если пропал пункт «Создать…» или «Открыть с помощью…»? Для восстановления действия «Создать» в реестре:

  • открыть HKEY_CLASSES_ROOTDirectoryBackgroundshellexContextMenuHandlers;
  • открыть папку (создать если ее нет) New, в ней выбрать: По умолчанию — Изменить, а в графе Значение прописать {D969A300-E7FF-11d0-A93B-00A0C90F2719}.

Для восстановления пункта «Открыть с помощью»:

  • открыть ветку HKEY_CLASSES_ROOT*shellexContextMenuHandlersOpen With в реестре;
  • в параметре Default ввести значение {09799AFB-AD67-11d1-ABCD-00C04FC30936}.

Что, если не открывается меню правой кнопкой мыши?

Исправить можно:

  • перейти HKEY/Current_User/ControlPanel/Desktop в регистре и правой кнопкой кликнуть «Изменить» на параметр Menushowdelay;
  • изменить значение на 0.

Исправить ошибку можно и с помощью утилиты Glary Utilities. Достаточно установить ее и удалить из списка всех приложений контекстного меню все лишнее или устаревшее. Чаще всего ошибка заключается в неисправности какого-либо приложения или захламленности выпадающего списка.

Как можно добавить свою команду?

Сделать это просто с помощью реестра:

  • Перейти HKEY_CLASSES_ROOT/*/shell;
  • В заново созданном разделе сделать параметр с именем MUIVerb;
  • Открыть его двойным щелчком;
  • В открывшемся окошке прописать нужный пункт, например, «Открыть в Firefox»
  • Кликнуть ОК.

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

Понравилась статья? Поделить с друзьями:
  • Hkcu software microsoft windows currentversion device access global
  • Hkcmd module что это за программа в автозагрузке windows 10
  • Hkcmd exe что это за процесс windows 10
  • Hiwatch плагин для браузера windows 10
  • Hive windows beta скачать для windows