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


117

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


Принятый ответ сработал, но в то же время перестал работать другая функция; Выбор программы по умолчанию не работает (не работает) в Windows
— Петр Доброгост

Какая функция перестала работать?
— Даниэль

Ответы:


148

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

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 .=

4
Обратите внимание, что если ваш редактор находится в папке, содержащей пробел (например, «C: \ Program Files»), вы должны поместить его в кавычки. ftype no_ext="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
— GuiSim

10
FWIW, в Win7 вам нужно работать cmdот имени администратора
— Cristi Diaconescu

1
Хорошо, еще один: в приведенном выше примере no_extWindows Explorer будет отображать в столбце «Тип» для таких файлов. Я думаю, что более удобочитаемое описание было бы лучше, поэтому я использовал "No extension", в том числе двойные кавычки, вместо no_extприведенных выше команд.
— Кристи Диаконеску

3
Вот как я могу установить значок для файлов .txt для файлов без расширения (спасибо @grawity за указатель и идею): assoc "No extension"\DefaultIcon=%SystemRoot%\system32\imageres.dll,-102
— Cristi Diaconescu

2
Это не работает для меня в Windows 10. Некоторые примечания: 1) Это не будет найдено assocв PowerShell, поэтому cmdтребуется. 2) Было выдано сообщение об ошибке, когда я не работал как администратор, поэтому я работал как администратор. Команда выполняется без выдачи ошибки, но, похоже, ничего не сделала. Я тоже потом перезагрузился.
— JamesFaix

24

Из 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
  • Нажмите ОК, затем снова ОК

Что-то не так с информацией выше. У меня есть .xml файлы, настроенные на открытие с помощью Notepad ++, но (по умолчанию) запись для .xml установлена ​​на xmlfile ...
— Петр Доброгост,

Я не очень понимаю, что вы имеете в виду, но я боюсь, что я тоже не знаю решения ...
— Ivo Flipse

3
@Piotr: если запись по умолчанию HKCR\.xml- xmlfileэто означает, что оболочка (проводник) должна перейти HKCR\xmlfileи прочитать информацию с этого ключа.
— Гравитация

@Ivo Когда я просматриваю запись .txt в реестре, чтобы проверить, как она выглядит (у меня есть файлы .txt, открытые в Notepad ++), запись по умолчанию имеет значение "txtfile". Там нет следов Notepad ++ нигде в этом разделе реестра. Чего мне не хватает?
— Петр Доброгост,

Вы имеете в виду, что он не использует Notepad ++ сейчас? Так как вы должны иметь возможность установить его как Блокнот, если вы знаете расширение или создаете его самостоятельно
— Ivo Flipse

14

Это пример файла .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"

Что-то не так с приведенной выше информацией. Когда я нажимаю только что созданный файл .reg, я получаю сообщение об ошибке «Указанный файл не является сценарием реестра».
— Петр Доброгост

Извините, Петр, попробуйте сейчас, я добавил еще одну строку в начало.
— Паук

Это работает в Explorer, но не работает в Total Commander, который должен вести себя (и всегда должен) идентично Explorer в этом отношении. есть идеи?
— Петр Доброгост

Идея, что вам нужно установить ассоциации файлов для КАЖДОГО неизвестного файла в Windows, безумна. Молодцы, сэр!
— Стивен Пенни

проверено в win7, работает. поэтому нет необходимости в отдельном ключе ./.
— Jiggunjer

5

Большинство из этих решений не работали для меня на 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 8.1, к сожалению. После этого я попытался убить и перезапустить файл explorer.exe - что еще мне нужно сделать? В записи HCU, которую вы упомянули, у меня теперь есть OpenWithList, OpenWithProgidsи тот, который я добавил UserChoice.
— Конан

1
Возможная ключевая ошибка в ст. 3. No Extention должна быть No Extension?
— JosefZ

2

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

Редактор реестра 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.


Это тот, который работал для меня. Ключ был двойной обратной косой черты.
— onthrocks

1

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

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

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


1

Другие ответы немного устарели. Вот ссылка на тот, который работает для 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"

Пожалуйста, в будущем, включите наиболее важные части здесь, на сайте, а не просто предоставив ссылку. Благодарю.
— Slhck

1

Не могу поверить, что никто еще не сказал это. Вам не нужно указывать путь к текстовому редактору, как сказано в принятом ответе.

Просто запустите следующее в командной строке администратора:

assoc .=txtfile

0

У меня проблема с открытием файлов 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/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.