Автор: Евгений aka f2065

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

Сначала рассмотрим, как его очистить от лишних строк.
Тут есть два варианта. Вариант первый - взять на вооружение инструмент Microsoft PowerToys Tweak UI.

Установив и загрузив данное приложение, следуем в раздел Templates. Тут всё просто. Нажатием кнопки Delete удаляется выбранная строка, а снятием галочки напротив той или иной строчки добиваемся временной деактивации пункта меню, за который она отвечает.
Если кому-то такое простое решение не нравится (или операционная система Windows старой версии, с которой PowerToys не работает), то существует второй вариант1. Суть его в следующем. Экспериментальным путём выясняем, какое расширение у создаваемого файла, от возможности создания которого мы хотим избавиться. Допустим, это .doc. Идём в реестр, находим ветку HKEY_CLASSES_ROOT и там открываем расширение файла .doc.

Удаляем из ветки все подкаталоги с именем ShellNew. Обратите внимание, что они могут быть как непосредственно в папке расширения, так и в её более глубоких поддиректориях. Предварительно рекомендуется сохранить копию этой ветки реестра.

Что ж, с удалением разобрались. Все изменения вступают в силу сразу (точнее, через несколько секунд), перезагрузка не требуется.
Теперь разберемся, как можно создать свою строчку в этом меню.
Начнем решать задачу опять-таки с помощью упомянутого выше Microsoft PowerToys Tweak UI. Сначала в нужной программе создаём файл и сохраняем его (он будет начальным шаблоном). Затем открываем Tweak UI и в разделе Templates нажимаем кнопку Create. Утилита попросит указать файл шаблона, указываем только созданный файл. Готово. Теперь, при выборе в контекстном меню строчки нашего нового файла, в это место будет копироваться наш файл-шаблон.
Между тем, возможности этого механизма гораздо шире2, чем предлагает Tweak UI. Например, можно автоматически сразу запускать какую-нибудь программу, или создавать файл-шаблон просто нулевого размера.
Итак, если простого создания файла мало, идём в реестр в раздел HKEY_CLASSES_ROOT, находим там расширение нужного типа файлов. Там нащупываем или создаём подпапку с именем ShellNew (для того чтобы в контекстном меню проводника появилась новая строчка о создании файла, достаточно в реестре у расширения нужного типа файла создать подпапку с именем ShellNew).
Далее в этой папке ShellNew создаём нужные параметры:
  • строковый параметр FileName. В нем указывается имя файла шаблона (к имени нового файла это не имеет никакого отношения). Сам файл шаблона должен находиться в Cocuments and SettingsAll UsersШаблоны или в C:WINDOWSSHELLNEW. Собственно, Tweak UI просто создаёт параметр FileName, копирует файл в папку шаблонов, и всё3.
  • вместо FileName можно создать строковой параметр NullFile. В этом случае шаблон не используется, и будет создан файл нулевого размера. Значения у NullFile быть не должно.
  • еще FileName можно заменить параметром Data. Тип у него может быть любой - строковый или двоичный, в зависимости от данных шаблона. Содержимое параметра Data будет записано в файл. Фактически, это полный аналог FileName, только в нем шаблон хранится в виде файла, а тут шаблон хранится в реестре. Лучше, конечно, не раздувать реестр и пользоваться FileName, но если размер шаблона всего несколько байтов, то уместнее использовать параметр Data.
Следующий вариант - предоставить возможность создания файла программе. Указываем строковый параметр Command. Как несложно догадаться из названия, это командная строка, которая и будет запущена. В Command просто пишем в кавычках полный путь к файлу программы, пробел и (тоже в кавычках) макрос %1 (он будет заменён на имя только что созданного файла), например, "c:windows
otepad.exe" "%1".

Теперь созданный файл будет сразу открываться в указанной программе.
Параметры FileName, Data, NullFile, Command все вместе использовать нельзя, можно применять только один из них.