Как установить программу по умолчанию для открытия файлов без расширения в Windows?

Как установить программу по умолчанию для открытия файлов без расширения в Windows?

11 ответов

Решение

С помощью командной строки:

assoc .="No Extension"
ftype "No Extension"="C:\path\to\my editor.exe" "%1"

Чтобы отдать должное, я узнал об этом из Вики Вики здесь и здесь

Дополнительная информация:

Вместо "C:\path\to\..."могут быть полезны следующие макросы:

  • %SystemDrive% - на Windows установлен диск, т.е. C:\
  • %ProgramFiles% - например "C:\Program Files\"
  • %ProgramFiles(x86)% - например "C:\Program Files (x86)\"

Вам нужно будет правильно избежать их, хотя:

ftype "No Extension"=^"^%ProgramFiles(x86)^%\Notepad++\notepad++.exe^" "%1"

Чтобы установить значок таким же, как у файлов.txt (я этого не делал, поскольку он автоматически отображал значки файлов как файлы Notepad++):

assoc "No Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102

Чтобы отменить, вы можете прочитать assoc /? или же ftype /? информация, например:

ftype "No Extension"=
assoc "No Extension"\DefaultIcon=
assoc .=

Из Windows IT Pro:

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

Вы можете форсировать это, используя реестр:

  • Запустите редактор реестра (regedit.exe)
  • Перейти к HKEY_CLASSES_ROOT
  • В меню "Правка" выберите "Новый" - "Ключ".
  • Введите имя "." и нажмите Enter (не вводите кавычки)
  • Выберите новый "." ключ
  • Дважды щелкните значение (по умолчанию)
  • Перейдите на HKEY_CLASSES_ROOT, используемый для открытия, например, NOTEPAD для приложения notepad.exe NOTEPAD
  • Нажмите ОК

альтернативный текст

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

Чтобы проверить, какое существующее приложение использовалось, посмотрите на его запись в HKEY_CLASSES_ROOT, например, HKEY_CLASSES_ROOT.doc использует Word.Document.8, поэтому, если вы хотите использовать его в качестве редактора по умолчанию, измените HKEY_CLASSES_ROOT.(По умолчанию) на Word.Document.8.

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

  • Открыть проводник - Просмотр - Параметры папки... - Типы файлов - Новый тип:
  • Описание типа: Текст (любое описание вы можете ввести)
  • Связанное расширение: (просто точка)
  • Действия: - новый...
  • Действие: открыть
  • Приложение, используемое для выполнения действия: c:\winnt\notepad.exe
  • Нажмите ОК, затем снова ОК

Это пример файла.reg для получения Блокнотом для открытия неизвестных расширений файлов. Создайте новый текстовый файл с расширением.reg, вырезайте и вставляйте его в него, затем дважды щелкните для запуска, и он будет помещен в реестр.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell]
@="notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad]
@="Open with Notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad\command]
@="C:\\WINDOWS\\NOTEPAD.EXE %1"

Can't believe nobody has said this yet. You don't need to provide a path to your text editor like the accepted answer says.

Just run the following in an admin command prompt:

assoc .=txtfile

Большинство из этих решений не работали для меня на Windows 8.1. Я получил его, выполнив следующее (это должно работать и для Windows 7 и Windows 10):

  1. Следуйте решению hasnj: сначала откройте командное окно с повышенными правами и введите

    assoc .="No Extension"
    ftype "No Extension"="C:\path\to\my editor.exe" "%1"
    
  2. Откройте regedit и перейдите к

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.
    

    Щелкните правой кнопкой мыши и добавьте новый ключ с именем UserChoice если он еще не существует

  3. В новом ключе UserChoice щелкните правой кнопкой мыши и создайте новое строковое значение с именем Progid, Установите его значение "Без расширения" (без двойных кавычек).

Для тех из вас, кто работает в Windows 11 и хочет использовать Notepadd++, это сработало нормально. Откройте командную строку администратора и вставьте следующее:

      assoc .="No Extension"
ftype "No Extension"=^"^%ProgramFiles^%\Notepad++\notepad++.exe^" "%1"
assoc "No Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102

Примечание. Это относится к версии x64 , поэтому «Программные файлы», а не «Программные файлы (x86) » .

Это очень полезно для Dockerfiles.

Вы также можете использовать NirSoft FileTypesManager:

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

FileTypesMan также позволяет вам легко редактировать свойства и флаги каждого типа файлов, а также добавлять, редактировать и удалять действия в типе файла.

Ответ Паука на меня не сработал, вместо этого мне пришлось использовать:

Редактор реестра Windows, версия 5.00

[HKEY_CLASSES_ROOT.] @ = "Без расширения"

[HKEY_CLASSES_ROOT \ Без расширения]

[HKEY_CLASSES_ROOT \ Без расширения \ Оболочка]

[HKEY_CLASSES_ROOT \ Без расширения \ Оболочка \ Открыть]

[HKEY_CLASSES_ROOT \ Без расширения \Shell\Open\Command] @="C:\\pathtoexe\\yourexe.exe %1"

Обратите внимание на двойную обратную косую черту на пути exe.

Другие ответы немного устарели. Вот ссылка на тот, который работает для Windows 7:

Расширения оболочки для имен файлов без расширения файла

Расширения оболочки для имен файлов без расширения могут быть зарегистрированы в следующих случаях:

[HKEY_CLASSES_ROOT\.]
           For example, to associate a program (for example, Notepad.exe) to open all files with no extension, use the following registry keys:

[HKEY_CLASSES_ROOT\.]
@=""

[HKEY_CLASSES_ROOT\.\shell]

[HKEY_CLASSES_ROOT\.\shell\open]

[HKEY_CLASSES_ROOT\.\shell\open\command]
@="<path to notepad.exe> %1"
           Here is an alternative method:

[HKEY_CLASSES_ROOT\.]
@="NoExtFile"

[HKEY_CLASSES_ROOT\NoExtFile]

[HKEY_CLASSES_ROOT\NoExtFile\shell]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open\command]
@="<path to notepad.exe> %1"

У меня проблема с открытием файлов PDF в IE9, да IE9 (необходимо для старой программы). PDF-файлы генерируются Javascript и возвращаются в браузер как тип содержимого application/pdf, что хорошо, но имя файла "none", что плохо. IE8 позволяет выбирать "Сохранить", "Отмена" и "Открыть" и понимает MimeType. по какой-то причине IE9 нет. Таким образом, вы должны выбрать каждый раз, чтобы открыть его с помощью PDF Reader.

Мое решение: используя этот пост, я сделал ассоциацию файлов для файла без расширения. Сначала я сопоставил его с Acrobat Reader, который работает нормально, но ограничивает возможности открытия файла без расширения. Поэтому я выбрал Internet Explorer в качестве средства просмотра по умолчанию для файлов без расширения. Таким образом, если IE может открыть его или знает плагин или другую ассоциацию, он будет работать.

Я проверил это с файлами "none1" и "none2" на моем рабочем столе. "none1" - текстовый файл с надписью "hello world". "none2" - это файл PDF.


Вот мой файл .reg:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="htmlfile"

[HKEY_CLASSES_ROOT\.\PersistentHandler]
@="{eec97550-47a9-11cf-b952-00aa0051fe20}"

- Смотрите скриншот

http://postimg.org/image/xtklrzcoz/

Использование PowerShell:

  • Это для Блокнота++

  • Требуется администратор

  • Перезагрузка не требуется

            New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
    
    New-Item -Path "HKCR:\Unknown\shell\" -Name "Notepad++"
    New-Item -Path "HKCR:\Unknown\shell\Notepad++" -Name "Command"
    
    New-ItemProperty -Path HKCR:\Unknown\shell\ -Name "(Default)" -Value "Notepad++"
    New-ItemProperty -Path HKCR:\Unknown\shell\Notepad++\ -Name "(Default)" -Value "Open with Notepad++"
    New-ItemProperty -Path HKCR:\Unknown\shell\Notepad++\command\ -Name "(Default)" -Value "C:\APPS\Notepad++\notepad++.exe %1"
    
Другие вопросы по тегам