¿Cómo puedo agregar un elemento al menú contextual 'nuevo'?

117

Cuando hago clic derecho en cualquier lugar, aparece la opción de agregar un nuevo archivo con una extensión específica. Me gustaría agregar algunos archivos personalizados en este menú, por lo que puedo hacer clic derecho y crear un nuevo archivo PHP, por ejemplo.

¿Cómo puedo hacer esto?

Theta30
fuente
pruebe la nueva herramienta de edición de menús incluida en Right Click Enhancer en rbsoft.org/downloads/right-click-enhancer
Ravi Patel
2
Si usted está teniendo problemas de adición de una nueva extensión de archivo (en lugar de la simple adición de NullFile/ FileNamea una entrada existente) en Windows 7, y luego ver esta otra pregunta ... superuser.com/questions/588647/...
MrWhite
2
El sitio de Ramesh es una buena fuente para agregar entradas manualmente.
Synetech

Respuestas:

64

Para agregar extensiones de su elección a la lista: cree un archivo, agregue el contenido a continuación, guárdelo como whatever.reg y ejecútelo.

Nota : Reemplace .png con la extensión de archivo que desea agregar y reemplace lo que sea con lo que desee.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.png\ShellNew]
"NullFile"=""

Fuente

th3dude
fuente
44
Por favor considere la pudrición del enlace .
Mehper C. Palavuzlar
1
Buena llamada. Respuesta editada :)
th3dude
1
+1, esto funciona. ¿Cómo podemos tener un nombre de archivo personalizado como "index.php" en lugar de ese "Nuevo archivo PHP.php"?
fedmich
1
Tuve que ejecutar el .regarchivo dos veces para que funcione. Gracias por esta respuesta
Akash
3
No funcionó para mí en Windows 10, 1709 :( Reinició el explorador y reinició la máquina incluso, aún ...
Arete
66

Una cosa más:

Si desea agregar un archivo como plantilla para el nuevo elemento, use

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="html.html"

y luego coloque el archivo (html.html) en:

  • Para su propio perfil: %Userprofile%\Templates
  • Para todos los usuarios: %Allusersprofile%\Templates
  • Para todo el sistema: %Systemroot%\ShellNew

Un detalle más: si desea eliminar la entrada "Windows Live Call" , use:

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]
Eduardo Molteni
fuente
¡Pensamiento genial, poder usar un archivo como plantilla!
Clay Nichols
1
En caso de que alguien se pregunte, la FileNameentrada parece anular la NullFileentrada mencionada en otras respuestas. Parece que no necesita eliminar un NullFilevalor existente . Sin embargo, tener ambas entradas parece confundir algunas otras utilidades de terceros, como ShellMenuNew de NirSoft . (Windows 7)
MrWhite el
2
No creo que deba estar en% Userprofile% Templates, etc. si le da el nombre completo de la ruta al archivo.
jiggunjer
3
¿Qué debo hacer si quiero crear dos accesos directos a dos plantillas diferentes para el mismo programa? Por ejemplo, utilicé este método perfectamente para crear un elemento de menú contextual para una plantilla de "artículo" para TeXworks. Ahora también quiero agregar una plantilla de "artículo modificado" para TeXworks. ¿Puedo agregar ambos al menú contextual? ¡Gracias!
Prahar
3
En Windows 8.1, las carpetas de plantillas que enumera no funcionan. Me sale un error de "acceso denegado". Donde deberían estar las plantillas es ahora una carpeta de acceso directo llamada "unión" aparentemente, y es un archivo oculto "específico del sistema operativo". Por lo tanto, la carpeta Plantillas ahora se mueve. Vea este enlace para la nueva asignación ( jimmah.com/vista/Security/junctions.aspx ). Aparentemente ahora es C:\Users\USER_NAME\AppData\Roaming\Microsoft\Windows\Templatespara tu propio perfil, por ejemplo.
Gabriel Staples
19

ShellNewHandler me ayudó a restaurar mi menú de shell de Windows 7> Nuevo> entrada de documento txt.

ingrese la descripción de la imagen aquí

  1. Desmarque .txt
  2. Haga clic en Aplicar
  3. Comprueba .txt
  4. Haga clic en Aplicar
Eric
fuente
2
¿Esto le permite agregar nuevas entradas? De las capturas de pantalla y la descripción no parece.
MrWhite
2
esto NO le permite agregar entradas ... por lo que es completamente irrelevante para el tema.
Eric Sebasta
18

Vaya al editor de registro y expanda HKEY_CLASSES_ROOT

Vaya a .file_extention

y crea una clave llamada ShellNew

Dentro de eso, cree una nueva clave de cadena llamada NullFile sin valor

Por ejemplo, si quisiera crear una nueva entrada para un objeto .wil en blanco * crearía

[HKEY_CLASSES_ROOT\.wil\ShellNew]
NullFile = ""

* si la extensión de archivo como .wil no existe, primero crearía un archivo con esa extensión y haría doble clic en él. Ábralo con el programa de mi elección, ya que esto crearía las otras claves de registro necesarias y facilitaría su trabajo.

William Hilsum
fuente
2
No funciona en Windows 10, también encontré este artículo, pero tampoco funciona: askvg.com/how-to-add-remove-items-from-new-menu-in-windows
Neo
5

Para eliminar entradas de la lista, aquí hay un programa que le permite habilitar / deshabilitar entradas desde una GUI. ¡Mucho más fácil que buscar en el registro!

Desafortunadamente, no le permite agregar entradas.

Barba Blorg
fuente
Esto es justo lo que necesitaba, ¡gracias! En general, todo lo que realmente necesita es "Nuevo documento de texto" ...
Andrew
5

Ninguno de estos métodos me funcionaba en Windows 10.

Finalmente encontré esta página que explicaba que necesita hacer referencia a otra clave que contiene el nombre y el ícono predeterminado.

Este es el mínimo necesario para crear una entrada, pero no tendrá un ícono.

NOTA: la tercera entrada es para un nuevo archivo de texto clave al que se hace referencia en el valor (predeterminado) de .txt

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt]
@="textfile"

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

[HKEY_CLASSES_ROOT\textfile]
@="Text Document"

Aquí hay dos formas de especificar un ícono

  1. Dile a Explorer que use el ícono predeterminado para el tipo de contenido:
[HKEY_CLASSES_ROOT\.txt] 
@="textfile" 
"Content Type"="text/plain"
"PerceivedType"="text"

o 2. Especifique un icono debajo del archivo de texto de esta manera:

[HKEY_CLASSES_ROOT\textfile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,-102"

Ah, y al menos para mí, solo cerrar y volver a abrir Explorer (asegúrese de cerrar todas las instancias) es suficiente para volver a cargar el menú contextual. No necesita reiniciar toda la máquina.

subman
fuente
A mi lado, "Notepad ++" cambió el HKEY_CLASSES_ROOT\.txta @="Notepad++_file". Entonces agregar HKEY_CLASSES_ROOT\Notepad++_filecon @="Textfile"hizo el truco. Gracias, buen hallazgo!
Tino
4

No dijo qué versión de Windows está utilizando: si es XP, puede descargar TweakUI PowerToy de Microsoft (también cubierto en Wikipedia ). Haga clic en Plantillas y agregue / elimine tipos de archivos al contenido de su corazón. Así es como se ve: ingrese la descripción de la imagen aquí

Usuario5910
fuente
3

Parece que las otras soluciones aquí están desactualizadas. Al menos ninguno de estos funcionó para mí en Windows 10 v. 1709 Build 16299.192 ( Editar : todavía funciona en la versión 1809). Hice algunas pruebas en una VM y esto es lo que funciona en Windows 10 1709, a partir de 2018.01.12:

Agregue el archivo de registro:

Cree un nuevo archivo de registro con el siguiente contenido:

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"

Reemplace xyzcon la extensión que desea agregar. Y reemplácelo XYZ test filecon el nombre de la extensión del archivo (por ejemplo, un archivo .scss sería "un archivo de hoja de estilo sintácticamente impresionante"). Si desea utilizar un archivo de plantilla, consulte la explicación a continuación.

Es posible que sea necesario reiniciar Windows Explorer después de haber agregado el archivo de registro. Puede reiniciar explorer.exe escribiendo lo siguiente en CMD:

taskkill /f /im explorer.exe & start explorer.exe

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


Explicación del código:

[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

Creará un nuevo tipo de archivo en el registro.

[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

Esto le permitirá usar una plantilla para todos los archivos nuevos de este formato de archivo. Podríamos, por ejemplo, escribir "template.xyz"y crear un nuevo archivo llamado "template.xyz" y usarlo como plantilla. Por lo tanto, cada vez que cree un nuevo archivo, se rellenará con contenido prefabricado. Como Eduardo Molteni mencionar las rutas de los archivos de plantilla son: %Userprofile%\Templates, %Allusersprofile%\Templateso para todo el sistema %Systemroot%\ShellNew. En este ejemplo, no hemos especificado ningún nombre de plantilla porque no queremos usar ninguno.

[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"

Este será el nombre del tipo de archivo tanto para el menú contextual como para los archivos recién creados. Hasta donde sé, dejar este valor en blanco no funciona.

Icono:

El icono se agrega una vez que Windows ha asociado un software con el tipo de archivo.

Arete
fuente
1
Gran respuesta, gracias. Tenga en cuenta que en Windows 10, %userprofile%\Templatesse mudó %appdata%\Microsoft\Windows\Templatesy %Allusersprofile%\Templatesse mudó a%programdata%\Microsoft\Windows\Templates
TheImirOfGroofunkistan
2

Cree un archivo de texto sin formato y agregue la siguiente línea:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

Guarde el archivo y cambie el nombre de su extensión a un archivo .reg. Por ejemplo, "myNewItem.reg". Asegúrese de cambiar el nombre de la extensión y no solo el nombre del archivo como (myNewItem.reg.txt)

Haga doble clic en el archivo y actualizará su registro.

El siguiente paso, y eso es muy importante, reinicia tu computadora directamente. ¡Así que NO intente abrir el menú de contenido para ver si ya funciona! Primero reinicie su computadora.

Si abre el menú de contenido para ver si su nuevo artículo increíble ya está en la lista, el registro se restaurará ...

Pruebe también este programa: http://sourceforge.net/projects/shellnewhandler/

Bnutoswa
fuente
si reinicio de inmediato o no, no puedo hacer que esto funcione en Windows 8.1. No tengo idea de por qué.
Gabriel Staples
1

La clave de registro:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew

no se puede cambiar para lograr lo que se muestra o no se muestra en el menú contextual "Nuevo". Si cambia ese valor, Explorer lo anulará la próxima vez que haga clic derecho y aparezca el menú contextual "Nuevo". Pruébalo y verás lo que quiero decir.

WoodyElf
fuente
0

Esta información está documentada oficialmente por Microsoft ; normalmente destinado a desarrolladores que registran sus propios tipos de archivos nuevos

Ampliando el nuevo submenú

Cuando un usuario abre el menú Archivo en el Explorador de Windows, el primer comando es Nuevo . Al seleccionar este comando, se muestra un submenú. De forma predeterminada, contiene dos comandos, Carpeta y Acceso directo , que permiten a los usuarios crear subcarpetas y accesos directos. Este submenú se puede ampliar para incluir comandos de creación de archivos para cualquier tipo de archivo.

Para agregar un comando de creación de archivos al nuevo submenú, los archivos de su aplicación deben tener un tipo de archivo asociado. Incluya una subclave ShellNew debajo de la clave para la extensión del nombre del archivo. Cuando se selecciona el comando Nuevo del menú Archivo , Shell lo agregará al submenú Nuevo . La cadena de visualización del comando será la cadena descriptiva que se asigna al ProgID del programa.

Asigne uno o más valores de datos a la subclave ShellNew para especificar el método de creación de archivos. Los valores disponibles siguen.

  • Command: Ejecuta una aplicación. Este es un valor REG_SZ que especifica la ruta de la aplicación que se ejecutará. Por ejemplo, puede configurarlo para iniciar un asistente.
  • Data: Crea un archivo que contiene datos específicos. Los datos son un valor REG_BINARY con los datos del archivo. Los datos se ignoran si se especifica NullFile o FileName.
  • FileName: Crea un archivo que es una copia de un archivo especificado. FileName es un valor REG_SZ , establecido en la ruta de acceso completa del archivo que se copiará.
  • NullFile: Crea un archivo vacío. NullFile no tiene asignado un valor. Si se especifica NullFile, los valores de Data y FileName se ignoran.

Y, por ejemplo, crea un nuevo archivo vacío mpy :

HKEY_CLASSES_ROOT
  (Default) = MyProgram.1
  MyProgram.1
   .myp
      ShellNew
         NullFile

Para crear un nuevo archivo basado en un archivo de plantilla específico:

HKEY_CLASSES_ROOT
   .myp
      (Default) = MyProgram.1
      MyProgram.1
         ShellNew
            FileName: REG_SZ = "%ProgramData%\Microsoft\Windows\Templates\MyNewTemplate.myp"
Ian Boyd
fuente