Если Вы работаете с разными типами файлов, а также используете меню «Создать», то, возможно, Вы задавались вопросом, как можно добавить новые пункты в это меню. В предыдущей статье я описал проблему, в которой по непонятным причинам из этого меню пропал пункт «Текстовый документ». Для его возвращения использовался reg-файл, который автоматически добавлял в системный реестр соответствующие правки. Однако, при необходимости, Вы можете самостоятельно подправить реестр Windows, и тем самым добавить свои типы файлов в меню «Создать», чтобы сделать Вашу работу с Windows более удобной.
Метод, описанный в этой статье, работает как для Windows XP, так и для Windows 7. Многие программы, например, WinRar, используют такой подход для добавления в меню «Создать» своих собственных типов файлов.
Содержание
- Добавить пункт в меню «Создать» (через правку реестра, ShellNew)
- Параметры раздела “ShellNew”
- Добавление пунктов в меню «Создать»
- Добавление пунктов в меню «Создать» для создания пустого html-файла
- Добавление пунктов в меню «Создать» для создания html-файла с заданным содержимым
Добавить пункт в меню «Создать» (через правку реестра, ShellNew)
Настройки для каждого расширения файла в реестре 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 будет искать файл по следующим путям:
|
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 не получится. Поэтому его надо создать в другом месте, а затем скопировать.
Надеюсь, я понятно рассказал о том, как добавлять свои пункты в меню «Создать», но если нет — можете смело задавать вопросы в комментариях.
Общая теория
Когда мы щелкаем правой кнопкой мыши на свободном месте Проводника, то в контекстном меню можем увидеть команду Создать с подменю. Например, мы можем таким образом создать новый текстовый
файл, документ WORD и так далее. Часто в этом меню присутствуют и
команды установленных вами программ.
Чтобы открыть редактор реестра, перейдите в меню Пуск и выберите пункт Выполнить, или на клавиатуре нажмите сочетание клавиш Win+R (Win — это клавиша с флажком), в появившемся диалоге введите команду regedit и нажмите Enter на клавиатуре
Помните!
Работа с реестром, может привести к нестабильной работе системы!!!
Вы проделываете все операции, на свой страх и риск!!!
Стандартные пункты списка Создать
Обычно, список Создать содержит пункты, с помощью которых можно создавать файлы определенных расширений. Вы можете удалить эти пункты из списка Создать, просто удалив подраздел ShellNew из ветви реестра вида HKEY_CLASSES_ROOT\«расширение файла». Приведем небольшой список команд и соответствующие расширения
- Портфель — .Briefcas
- Контакт (используется для создания
контакта для адресной книги почтового клиента Почта Windows (расположена
в каталоге %userprofile%\Contacts) — .contact - Сжатая папка (Для удаления данного
пункта нужно удалить раздел ShellNew из ветви реестра
HKEY_CLASSES_ROOT\.zip\CompressedFolder) — .zip - Документ Журнала (используется для
создания файла программы Журнал (%programfiles%\Windows
Journal\Journal.exe). Для удаления данного пункта нужно удалить раздел
ShellNew из ветви реестра HKEY_CLASSES_ROOT\.jnt\jntfile)) — .jnt - Ярлык — .lnk
- Папка — .Folder
Создаем свою команду
Вы сами можете создать при необходимости свою команду. За команды в контекстном меню Создать отвечает раздел ShellNew в разделеHKEY_CLASSES_ROOT. Вам нужно найти необходимое расширение файла (напр… .doc) и изучить раздел ShellNew. Вы можете либо удалить ее, чтобы скрыть команду из контекстного меню, либо добавить свои команды.
Например, если вы веб-дизайнер, то было бы удобно иметь пункт Документ HTML, который позволит вам сразу создать заготовку для вашей странички.
Разобъем работу на несколько этапов. Для начала найдем каталог ShellNewв
папке Windows. Там хранятся заготовки для файлов, которые создаются с
помощью контекстного меню. Например, если у вас установлен Microsoft
Office, то вы увидите в этом каталоге файлы-заготовки для Word и Exce.
Следующий шаг — создайте в папке файл, например index.html. Внутри него напишите шаблон вашей странички. Например, так:
<html>
<head>
<meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>
<title>Мой заголовок</title>
</head>
<body>
</body>
</html>
Третий шаг — работаем с реестром. Ищем разделHKEY_CLASSES_ROOT\.html и создаем раздел ShellNew. В этом разделе создаем строковый параметр FileName в качестве значения которого надо указать имя созданного нами шаблона
(index.html). После перезагрузки в контекстном меню появится новый
пункт.
Существуют и другие способы. Можно не создавать шаблон файла. Он может быть и пустым, но тогда вместо параметра FileName надо создать пустой строковый параметр NullFile.
Еще FileName можно заменить параметром Data.
Тип у него может быть любой — строковый или двоичный, в зависимости от
данных шаблона. Содержимое параметра Data будет записано в файл.
Фактически, это полный аналог FileName, только в нем шаблон хранится в
виде файла, а тут шаблон хранится в реестре. Лучше, конечно, не
раздувать реестр и пользоваться FileName, но если размер шаблона всего
несколько байтов, то уместнее использовать параметр Data.
Следующий вариант — предоставить возможность создания файла
программе. Указываем строковый параметр Command. В Command просто пишем в
кавычках полный путь к файлу программы, пробел и (тоже в кавычках)
макрос %1 (он будет заменён на имя только что созданного файла),
например, «c:\windows\notepad.exe» «%1». Теперь созданный файл будет
сразу открываться в указанной программе.
Параметры
Параметры FileName, Data, NullFile, Command все вместе использовать нельзя, можно применять только один из них.
- Command
- этот параметр строкового типа определяет команду, которая будет
выполняться при выборе соответствующего пункта меню Создать (то есть
содержимое этого параметра ничем не отличается от содержимого параметра
(По умолчанию) подраздела Command. - NullFile
- данный строковый параметр не должен содержать никакого значения. При
этом после выбора команды для создания файла соответствующего
расширения будет создаваться пустой файл. Например, при помощи этого
параметра создаются текстовые файлы. - FileName
- имеет строковый тип и определяет путь и имя файла, который будет
создаваться (просто копироваться в папку, из которой был вызван список
Создать, или на Рабочий стол) после выбора соответствующей команды меню
Создать. - Data
- данный параметр двоичного типа содержит последовательность цифр в
шестнадцатеричной системе счисления, которую система будет использовать
для генерации содержимого файла (например, этот параметр используют
файлы с музыкальным содержимым для возможности создания пустого
файла-образца звука).
Статья взята с: winchanger.narod.ru
Если Вы работаете с разными типами файлов, а также используете меню «Создать», то, возможно, Вы задавались вопросом, как можно добавить новые пункты в это меню. В предыдущей статье я описал проблему, в которой по непонятным причинам из этого меню пропал пункт «Текстовый документ». Для его возвращения использовался 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 будет искать файл по следующим путям:
|
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 не получится. Поэтому его надо создать в другом месте, а затем скопировать.
Надеюсь, я понятно рассказал о том, как добавлять свои пункты в меню «Создать», но если нет — можете смело задавать вопросы в комментариях.
It seems that the other solutions here are outdated. At least none of these worked for me in Windows 10 v. 1709 Build 16299.192 (Edit: still works in version 1809). I did some testing in a VM and this is what works in Windows 10 1709, as of 2018.01.12:
Add the registry file:
Create a new registry file file with the following content:
Windows Registry Editor Version 5.00
; new file type
[HKEY_CLASSES_ROOT\.xyz]
@="xyz"
; template
[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""
; file type name
[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"
Replace xyz
with the extension you would like to add. And replace XYZ test file
with the name of the file extension (e.g a .scss file would be «syntactically awesome style sheet file”). If you want to use a template file see the explanation below.
It might be necessary to restart Windows Explorer after you have added the registry file. You can restart explorer.exe by typing the following in CMD:
taskkill /f /im explorer.exe & start explorer.exe
Explanation of the code:
[HKEY_CLASSES_ROOT\.xyz]
@="xyz"
Will create a new file type in the registry.
[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""
This will enable you to use a template for all new files of this file format. We could for example write "template.xyz"
and make a new file called “template.xyz” and use it a s a template. So each time you make a new file it will be populated with pre-made content. As Eduardo Molteni mentioned the paths for the template files are: %Userprofile%\Templates
, %Allusersprofile%\Templates
or for the whole system %Systemroot%\ShellNew
. In this example we haven’t specified any template name because we don’t want to use any.
[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"
This will be the name of the file type both for the context menu and the newly created files. As far as I know leaving this value blank does not work.
Icon:
The icon is added once Windows have associated a software with the file type.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.php]
@="php_auto_file"
[HKEY_CLASSES_ROOT\.php\ShellNew]
"NullFile"=-
[HKEY_CLASSES_ROOT\.php\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.php"
[HKEY_CLASSES_ROOT\php_auto_file]
@="index"
[HKEY_CLASSES_ROOT\php_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
2c,00,30,00,00,00
[HKEY_CLASSES_ROOT\.js]
@="js_auto_file"
[HKEY_CLASSES_ROOT\.js\ShellNew]
"NullFile"=-
[HKEY_CLASSES_ROOT\.js\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.js"
[HKEY_CLASSES_ROOT\js_auto_file]
@="script"
[HKEY_CLASSES_ROOT\js_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
2c,00,30,00,00,00
[HKEY_CLASSES_ROOT\.css]
@="css_auto_file"
[HKEY_CLASSES_ROOT\.css\ShellNew]
"NullFile"=-
[HKEY_CLASSES_ROOT\.css\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.css"
[HKEY_CLASSES_ROOT\css_auto_file]
@="style"
[HKEY_CLASSES_ROOT\css_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
2c,00,30,00,00,00
[HKEY_CLASSES_ROOT\.html]
@="html_auto_file"
[HKEY_CLASSES_ROOT\.html\ShellNew]
"NullFile"=-
[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.html"
[HKEY_CLASSES_ROOT\html_auto_file]
@="webpage"
[HKEY_CLASSES_ROOT\html_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
2c,00,30,00,00,00