Если Вы работаете с разными типами файлов, а также используете меню «Создать», то, возможно, Вы задавались вопросом, как можно добавить новые пункты в это меню. В предыдущей статье я описал проблему, в которой по непонятным причинам из этого меню пропал пункт «Текстовый документ». Для его возвращения использовался reg-файл, который автоматически добавлял в системный реестр соответствующие правки. Однако, при необходимости, Вы можете самостоятельно подправить реестр Windows, и тем самым добавить свои типы файлов в меню «Создать», чтобы сделать Вашу работу с Windows более удобной.

Метод, описанный в этой статье, работает как для Windows XP, так и для Windows 7. Многие программы, например, WinRar, используют такой подход для добавления в меню «Создать» своих собственных типов файлов.

Где в реестре Windows хранятся настройки меню «Создать» для каждого расширения файла?

Настройки для каждого расширения файла в реестре Windows найти не сложно. Для этого необходимо запустить редактор реестра и развернуть ветку:

HKEY_CLASSES_ROOT

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

И так, предположим, что мы хотим произвести манипуляции над таким типом файла, как html (веб-страница). Находим в нашем списке раздел “.html” и разворачиваем его. Давайте сразу создадим там подраздел с именем “ShellNew” (без кавычек), как показано на рисунке:

Добавить свой пункт в меню Создать

Так вот, задача, которую мы себе поставили (добавить в меню «Создать» новый пункт - файл с типом html), имеет несколько решений. В зависимости от того, что мы хотим получить в результате, наша задача имеет несколько решений. В любом случае необходимо создавать новый параметр в разделе “ShellNew”.

Параметры раздела “ShellNew”

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

Имя параметра За что отвечает
Command Выполнить комманду для создания нового файла. Тип параметра - строковой (REG_SZ).
Data Создать файл с содержимым, которое будет указано в значении этого параметра. Этот параметр должен иметь двоичный тип (REG_BINARY), но если содержимое создаваемого файла будет состоять всего из одной строки, то можно этому параметру задать строковой тип (REG_SZ). Если заданы параметры FileName и NullFile, то этот параметр игнорируется.
FileName Создать файл с содержимым. Тип - строковой (REG_SZ). Содержимое будет браться из файла, путь к которому указан в этом параметре. Имеет приоритет над NullFile. Если путь в этом параметре задан не полный, а просто имя файла, то Windows будет искать файл по следующим путям:

  • %Userprofile%\Templates
  • %Allusersprofile%\Templates
  • %Systemroot%\ShellNew
NullFile Создать пустой файл. Тип - строковой (REG_SZ). Не принимает значение (может иметь любое содержимое - важен лишь факт существования данного параметра). Не учитывается, если задан FileName. Создание этого параметра равнозначно созданию пустого параметра Data.

Ещё раз повторюсь, что для добавления своего пункта в меню «Создать» требуется создать только один из этих параметров.

Примеры добавления своих пунктов в меню «Создать»

Первые 2 параметра из таблицы выше рекомендуется использовать только опытным пользователям. В этой статье я не буду останавливаться на них, лишь отмечу, что параметр “Command” используется для вызова внешней программы, которая создаёт файл. Примером такой программы может быть создание ярлыка - запускается специальная программа (Мастер), которая позволяет задать свойства создаваемого ярлыка в несколько шагов.

Параметр “Data” используется тогда, когда создаваемый файл должен иметь какое-то содержимое (как правило - бинарное). Поэтому его тип - двоичный (REG_BINARY).

Здесь пример только с использованием “FileName” и “NullFile”.

Пример, как добавить в меню пункт для создания пустого html-файла

Создадим в разделе “ShellNew” (который мы создали внутри раздела “.html”) параметр с именем “NullFile”. В меню «Создать» появится дополнительный пункт для файла с типом html. У меня он имеет название «Chrome HTML Document», потому что html-файлы на моем компьютере ассоциированы с браузером Google Chrome.

Новый пункт в меню Создать

При клике по этому пункту будет создаваться пустой html-файл.

Пример, как добавить в меню пункт для создания html-файла с заданным содержимым

Если мы хотим, чтобы наш файл создавался не пустой, а по заданному шаблону, то необходимо создать этот шаблон. Для этого я скопирую в паку C:WindowsShellNew файл “myhtml.html” с нужным мне содержимым, а в “ShellNew” создам параметр с именем “FileName”, в котором напишу просто “myhtml.html”. Как я уже написал выше, если указывать не полный, а короткий путь к файлу-шаблону, то Windows будет искать этот шаблон в первую очередь в директории “C:WindowsShellNew” (и двух других).

Редактирование реестра для добавления новых пунктов в меню Создать

Теперь наш файл при создании уже будет иметь некое содержимое, Windows просто скопирует его с шаблона “myhtml.html”.

В Windows 7 создать файл в директории “C:WindowsShellNew” при включённом UAC не получится. Поэтому его надо создать в другом месте, а затем скопировать.

Надеюсь, я понятно рассказал о том, как добавлять свои пункты в меню «Создать», но если нет - можете смело задавать вопросы в комментариях.

2 комментария

  • Игорь:

    А как создать файл по образцу и запустить его определенной программой (в один клик)?

  • Сергей Чашенков:

    Установил Офис 2016, хотел добавить в контекстное меню пункт «Создать Word 97-2003», но не получилось этим путем. Странно.

Добавить комментарий