5

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

Многие файлы, происходящие из мира UNIX, имеют расширение файла. Популярные примеры включают в себя README , INSTALL , LICENSE .

Мы точно знаем, что это текстовые файлы. Поэтому немного разочаровывает невозможность просто дважды щелкнуть по ним открытым в Проводнике и увидеть их в Блокноте (фактически, Notepad2 из-за окончаний строки UNIX, которые глупый Microsoft Notepad отображает неправильно).

Кто-нибудь знает способ создания ассоциации файлов, скажем, для файлов README без расширения? Затем это можно было бы реплицировать для охвата наиболее часто встречающихся типов файлов, а затем дважды щелкнуть их, чтобы работать.


Обновление (вроде в ответ на все ваши комментарии.) Спасибо, ребята, ваши комментарии и ответы помогли мне.

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

В конечном счете, я просто хочу иметь возможность дважды щелкнуть, чтобы открыть README или Makefile , вот и все.

@Sampo, трюк SendMe также полезен, хотя удобство использования не так велико, как прямой двойной щелчок. (Иногда я очень ленивый.)

Получается, что следующий трюк с использованием ftype и ftype из приглашения администратора выполняет задание двойного щелчка:

assoc .=no_ext
ftype no_ext=%SystemRoot%\system32\NOTEPAD.EXE %1
:: You can see it created some entries in the registry:
reg query hkcr\no_ext /s
reg query hkcr\. /s

2 ответа2

5

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

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]

[HKEY_CLASSES_ROOT\.\shell]

[HKEY_CLASSES_ROOT\.\shell\open]

[HKEY_CLASSES_ROOT\.\shell\open\command]
@="Notepad.exe %1"

Замените Notepad.exe на любой текстовый редактор, который вы хотите использовать.

Конечно, вы также можете создать ключи реестра и значения вручную с помощью regedit.exe .

Также посмотрите этот вопрос и его ответы.

3

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

Это очень просто, вот как это сделать:

1. Откройте папку « Send To ». В Windows 7 эта папка C:\Users\TestUser10\AppData\Roaming\Microsoft\Windows\SendTo , просто измените TestUser10 на свое имя пользователя или используйте профиль All Users .

2. Создайте новую ссылку на notepad.exe с описанием `" Блокнот ".

Теперь он готов к использованию

Щелкните правой кнопкой мыши по любому файлу и выберите "Send To" => "Notepad" и Windows откроет выбранный файл в блокноте.

Примечание: это работает со всеми версиями Windows с функцией "Send To" , вам просто нужно найти папку « Send To » и создать ярлык для notepad.exe . 95, 98, ME, 2000, XP, Vista, 7 ... есть, но путь к папке может отличаться.

Обновить:

Хорошо, я понял (после прочтения комментария techie007).

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

Только не создавайте ярлык, как я предлагал выше, но создайте новый File Editor.cmd и вот содержимое File Editor.cmd (меняйте регистры, как вам нравится):

GOTO FILE_%~n1

:FILE_NOTEPAD
START notepad.exe %1
GOTO EOF

:FILE_nicepic.jpg
START mspaint.exe %1
GOTO EOF

:FILE_config.sys
edit.com %1
GOTO EOF

:EOF

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

Обновление: интеграция с файловыми ассоциациями

Эта часть о интеграции выше с ответом Индрека.

Идея довольно проста, просто напишите выше командный файл (или, что еще лучше, настоящую программу с похожими функциями), но вместо папки "Отправить" поместите ее в папку System32 (просто не помещайте ее в "Отправить").

После того, как у вас есть готовый скрипт / программа, следуйте ответу Индрека с одним исключением: используйте file editor.cmd %1 (или как вы назвали свою программу / пакет) вместо notepad %1 .

Это позволяет использовать как: выбор приложения по имени файла, так и простой двойной щелчок в проводнике Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .