Как установить программу по умолчанию для открытия файлов без расширения в 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.