Связать кучу несвязанных расширений файлов с Notepad ++ сразу через пакет

0

У меня есть тысячи файлов с расширениями ".0", ".1", ".2" и т. Д., Которые я хочу связать с Notepad ++ (v7.5.8). В настоящее время они не имеют никакой ассоциации файлов в Windows (Windows 10). Поскольку они не имеют какой-либо существующей ассоциации, показанные здесь решения не работают для меня.

Кроме того, я хочу связать их в Windows, а не в настройках N ++, так как я получаю доступ к этим файлам из Windows Explorer.

Merlin820
источник
О скольких разных расширениях файлов мы говорим? Вы можете связать один файл, экспортировать ключ, а затем использовать Excel для генерации ключей X с помощью Cating строк
Ramhound

Ответы:

0

Намного проще, чем вручную связать все .#файлы, IMO, было бы настроить режим редактирования «все», используя regedit:

  • HKEY_CLASSES_ROOT\*\shell: Добавить ключ = Notepad++, установить (Default)=Edit with &Notepad++
  • HKEY_CLASSES_ROOT\*\shell\Notepad++: Добавьте Key = command, установите (Default)в "c:\program files (x86)\notepad++\notepad++.exe" "%1"- используйте правильный путь к notepad ++. Exe для вашей системы и убедитесь, что в двойных кавычках указан как путь, так и% 1, чтобы гарантировать правильную обработку пробелов.

Выйдите и снова включите или перезагрузите компьютер. Теперь на любом файле в проводнике вы сможете щелкнуть правой кнопкой мыши, выбрать Edit with Notepad++и вуаля!


Per-Extension Association (Все пользователи)

Поочередно откройте cmd.exeокно (при необходимости запустите от имени администратора) и запустите

assoc .1=DotNumber
ftype DotNumber="c:\program files (x86)\notepad++\notepad++.exe" "%1"
for %n in (0 1 2 3 4 5 6 7 8 9) DO assoc .%n=DotNumber 

Если вы хотите больше .#расширений, добавьте их в цикл for. Если вы хотите установить их из пакетного файла ( setdotn-assoc.batили setdotn-assoc.cmd), а не по cmd.exeприглашению, нужно два, %а не один, все остальное - то же самое:

assoc .1=DotNumber
ftype DotNumber="c:\program files (x86)\notepad++\notepad++.exe" "%1"
for %%n in (0 1 2 3 4 5 6 7 8 9) DO assoc .%%n=DotNumber

Per-Extension Association (только для текущего пользователя)

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

Если вы смогли создать тип DotNumber, ftype DotNumber=удалить существующее определение.

Запустите следующую команду из командной строки (на этот раз даже не нужна командная строка администратора)

REG ADD     HKCU\Software\Classes\DotNumber                      /ve /d "DotNumber File" /f
REG ADD     HKCU\Software\Classes\DotNumber\Shell                /ve /d "open" /f
REG ADD     HKCU\Software\Classes\DotNumber\Shell\open           /ve /d "open DotNumber file" /f
REG ADD     HKCU\Software\Classes\DotNumber\Shell\open\command   /ve /d "\"c:\program files (x86)\notepad++\notepad++.exe\" \"^%1\"" /f
FOR %n in (0 1 2 3 4 5 6 7 8 9) DO REG ADD HKCU\Software\Classes\.%n /ve /d "DotNumber" /f

И если вы хотите проверить, было ли это написано

REG QUERY   HKCU\Software\Classes\DotNumber /S
FOR %n in (0 1 2 3 4 5 6 7 8 9) DO REG QUERY HKCU\Software\Classes\.%n /S
PeterCJ
источник
Спасибо! Метод командного окна, кажется, работает, за исключением того, что это рабочий компьютер, и для каждого расширения он просто возвращает ошибку «Доступ запрещен», даже когда я запускаю его как администратор. Штопать.
Merlin820
Это создало тип файла или нет? ftype DotNumberскажет «Тип файла« DotNumber »не найден или команда open не связана с ним», если он не был создан, иначе он покажет определение ...
PeterCJ
Добавлена ​​версия "только для текущего пользователя" в новейшем редакторе. Это не должно иметь значения, есть ли у вас права администратора. По крайней мере, у меня это работало в окне без прав администратора.
PeterCJ
Текущая версия пользователя работала! Я не очень разбираюсь в материалах реестра, не могли бы вы объяснить несколько вещей? Что означает значение каждого создаваемого вами подраздела? Например, имеет ли значение HKCU \ Software \ Classes \ DotNumber \ Shell значение "open" что-то конкретное? «Открыто» волшебное слово? Является ли наличие «Shell» в дереве реестра также особенным?
Merlin820
1
Все это было очень полезно, спасибо! И на самом деле мой NPP находится в обычном файле программных папок, а не в x86, так что мне, вероятно, не нужно беспокоиться об этой проблеме цикла DO. Еще раз спасибо!
Merlin820