¿Cómo configurar el programa predeterminado para abrir archivos sin una extensión en Windows?


Respuestas:


148

Con la línea de comando:

assoc .="No Extension"
ftype "No Extension"="C:\path\to\my editor.exe" "%1"

Para dar crédito, aprendí esto de vim wikia aquí y aquí

Información extra:

En lugar de "C:\path\to\...", las siguientes macros pueden ser útiles:

  • %SystemDrive% - la ventana de la unidad está instalada, es decir C:\
  • %ProgramFiles% - p.ej "C:\Program Files\"
  • %ProgramFiles(x86)% - p.ej "C:\Program Files (x86)\"

Sin embargo, deberás escapar adecuadamente de ellos:

ftype "No Extension"=^"^%ProgramFiles(x86)^%\Notepad++\notepad++.exe^" "%1"

Para configurar el ícono para que sea el mismo que los archivos .txt (no hice esto, ya que automáticamente hizo que los íconos de los archivos se mostraran como archivos Notepad ++):

assoc "No Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102

Para deshacer, puede leer la información assoc /?o ftype /?, por ejemplo:

ftype "No Extension"=
assoc "No Extension"\DefaultIcon=
assoc .=

44
Tenga en cuenta que si su editor está en una carpeta que contiene un espacio (como "C: \ Archivos de programa") debe ponerlo entre comillas. ftype no_ext="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
GuiSim

10
FWIW, en Win7 necesitas correr cmdcomo Administrador
Cristi Diaconescu

1
OK, uno más: en el ejemplo anterior, no_extes lo que el Explorador de Windows mostrará en la columna 'Tipo' para dichos archivos. Creo que una descripción más legible sería mejor, así que utilicé "No extension", incluidas las comillas dobles, en lugar de no_exten los comandos anteriores.
Cristi Diaconescu

3
Así es como configuro el ícono para archivos .txt para archivos sin extensión (gracias @grawity por el puntero y la idea): assoc "No extension"\DefaultIcon=%SystemRoot%\system32\imageres.dll,-102
Cristi Diaconescu

2
Esto no me funciona en Windows 10. Algunas notas: 1) No se encuentra assocen PowerShell, por lo que cmdes obligatorio. 2) Estaba arrojando un error cuando no se ejecutaba como administrador, así que lo ejecuté como administrador. El comando se ejecuta sin lanzar un error, pero no parece haber hecho nada. Luego reinicié también.
JamesFaix

24

Desde Windows IT pro :

Los archivos normales con una extensión pueden tener un programa asociado; sin embargo, este no es el caso de los archivos que no tienen una extensión. Si hace doble clic en uno y selecciona una aplicación y marca la casilla para usar siempre esa aplicación, se ignora y cada vez que selecciona un archivo tiene que elegir la aplicación.

Puede forzar esto usando el registro:

  • Inicie el editor de registro (regedit.exe)
  • Mover a HKEY_CLASSES_ROOT
  • En el menú Editar, seleccione Nuevo - Clave
  • Ingrese un nombre de '.' y presione Entrar (no escriba las comillas)
  • Seleccione el nuevo '.' llave
  • Haga doble clic en el valor (predeterminado)
  • Cambie a HKEY_CLASSES_ROOT utilizado para abrir, por ejemplo, NOTEPAD para la aplicación notepad.exe NOTEPAD
  • Haga clic en Aceptar

texto alternativo

Si ahora hace doble clic en un archivo sin extensión, se abrirá con la aplicación seleccionada.

Para verificar lo que usaba una aplicación existente, mire su entrada en HKEY_CLASSES_ROOT, por ejemplo, HKEY_CLASSES_ROOT.doc usa Word.Document.8, por lo que si desea esto como su editor predeterminado, debe cambiar HKEY_CLASSES_ROOT. (Predeterminado) a Word.Document.8.

Cualquier método que evite la necesidad de editar el registro es el siguiente:

  • Open Explorer - Ver - Opciones de carpeta ... - Tipos de archivo - Nuevo tipo:
  • Descripción del tipo: Texto (cualquier descripción, puede escribir)
  • Extensión asociada:. (solo un punto)
  • Acciones: - nuevo ...
  • Acción: abierta
  • Aplicación utilizada para realizar acciones: c: \ winnt \ notepad.exe
  • Haga clic en ok, luego ok nuevamente

Hay algo mal con la información anterior. Tengo los archivos .xml configurados para abrirse con Notepad ++ pero la entrada (predeterminada) para .xml está configurada en xmlfile ...
Piotr

Realmente no entiendo lo que quieres decir, pero me temo que tampoco sabría una solución ...
Ivo Flipse el

3
@Piotr: Si la entrada predeterminada de HKCR\.xmles xmlfile, significa que el shell (Explorer) debe ir HKCR\xmlfiley leer la información de esa clave.
Grawity

@Ivo Cuando miro la entrada .txt en el registro para verificar cómo se ve (tengo los archivos .txt abiertos por Notepad ++), la entrada predeterminada tiene el valor "txtfile". No hay rastro de Notepad ++ en ninguna parte de esta clave de registro. ¿Qué me estoy perdiendo?
Piotr Dobrogost

¿Quiere decir que no usa Notepad ++ ahora? Dado que debería poder configurarlo como NotePad si conoce la extensión o crearla usted mismo
Ivo Flipse el

14

Este es un ejemplo de archivo .reg para que el Bloc de notas abra extensiones de archivo desconocidas. Cree un nuevo archivo de texto con una extensión de .reg, córtelo y péguelo en él, luego haga doble clic para ejecutarlo y lo colocará en el registro.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell]
@="notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad]
@="Open with Notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad\command]
@="C:\\WINDOWS\\NOTEPAD.EXE %1"

Hay algo mal con la información anterior. Cuando hago clic en el archivo .reg recién creado, aparece el error "El archivo especificado no es un script de registro".
Piotr Dobrogost

Disculpas Piotr, inténtalo ahora, he agregado una línea más a la parte superior.
Pauk

Esto funciona en Explorer pero no en Total Commander, que debería comportarse (y siempre lo ha hecho) de manera idéntica a Explorer a este respecto. ¿Alguna idea?
Piotr Dobrogost

La idea de que debería tener que establecer asociaciones de archivos para CADA archivo desconocido en Windows es una locura. Bien hecho señor!
Steven Penny

verificado en win7, funciona. así que no necesita una clave ./ separada.
jiggunjer

5

La mayoría de estas soluciones no me funcionaron en Windows 8.1. Lo hice funcionar haciendo lo siguiente (esto también debería funcionar para Windows 7 y Windows 10):

  1. Siga la solución de hasnj: primero abra una ventana de comando elevada y escriba

    assoc .="No Extension"
    ftype "No Extension"="C:\path\to\my editor.exe" "%1"
    
  2. Abra regedit y navegue hasta

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.
    

    Haga clic derecho y agregue una nueva clave llamada UserChoicesi aún no existe.

  3. En la nueva clave UserChoice, haga clic derecho y cree un nuevo valor de cadena llamado Progid. Establezca su valor en "Sin extensión" (sin las comillas dobles).


Desafortunadamente, esto no funciona para mí en Windows 8.1. Intenté matar y reiniciar explorer.exe después, ¿hay algo más que deba hacer? En la entrada HCU que se menciona que ahora tengo OpenWithList, OpenWithProgidsy el que yo añadido, UserChoice.
Conan

1
Posible error clave en el artículo 3. ¿ No Extention debería ser No Extension?
JosefZ

2

La respuesta de Pauk no funcionó para mí, tuve que usar en su lugar:

Windows Registry Editor Versión 5.00

[HKEY_CLASSES_ROOT.] @ = "Sin extensión"

[HKEY_CLASSES_ROOT \ Sin extensión]

[HKEY_CLASSES_ROOT \ Sin extensión \ Shell]

[HKEY_CLASSES_ROOT \ Sin extensión \ Shell \ Abrir]

[HKEY_CLASSES_ROOT \ Sin extensión \ Shell \ Open \ Command] @ = "C: \\ pathtoexe \\ yourexe.exe% 1"

Tenga en cuenta las barras invertidas dobles en la ruta exe.


Este es el que funcionó para mí. La clave era doble barra invertida.
ontherocks

1

También puede usar NirSoft FileTypesManager :

FileTypesMan es una alternativa a la pestaña 'Tipos de archivo' en las 'Opciones de carpeta' de Windows.

FileTypesMan también le permite editar fácilmente las propiedades y marcas de cada tipo de archivo, así como también le permite agregar, editar y eliminar acciones en un tipo de archivo.


1

Las otras respuestas están un poco desactualizadas. Aquí hay un enlace a uno que funciona para Windows 7:

Extensiones de shell para nombres de archivo sin extensión de archivo

Las extensiones de shell para nombres de archivo sin extensión de archivo se pueden registrar de la siguiente manera:

[HKEY_CLASSES_ROOT\.]
           For example, to associate a program (for example, Notepad.exe) to open all files with no extension, use the following registry keys:

[HKEY_CLASSES_ROOT\.]
@=""

[HKEY_CLASSES_ROOT\.\shell]

[HKEY_CLASSES_ROOT\.\shell\open]

[HKEY_CLASSES_ROOT\.\shell\open\command]
@="<path to notepad.exe> %1"
           Here is an alternative method:

[HKEY_CLASSES_ROOT\.]
@="NoExtFile"

[HKEY_CLASSES_ROOT\NoExtFile]

[HKEY_CLASSES_ROOT\NoExtFile\shell]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open\command]
@="<path to notepad.exe> %1"

Por favor, en el futuro, incluya las partes más relevantes aquí, en el sitio, en lugar de simplemente proporcionar un enlace. Gracias.
slhck

1

No puedo creer que nadie haya dicho esto todavía. No necesita proporcionar una ruta a su editor de texto como dice la respuesta aceptada.

Simplemente ejecute lo siguiente en un símbolo del sistema de administrador:

assoc .=txtfile

0

Tengo un problema al abrir archivos PDF en IE9, sí IE9 (necesario para un programa antiguo). Los archivos PDF son generados por un Javascript y devueltos al navegador como tipo de contenido de aplicación / pdf , lo cual es bueno, pero el nombre de archivo "ninguno" , lo cual es malo. IE8 le permite elegir Guardar, Cancelar y Abrir y entiende el MimeType . por alguna razón, IE9 no lo hace. Por lo tanto, debe elegir cada vez que lo abra con el lector de PDF.

Mi solución: usando esta publicación, he hecho una asociación de archivo para el archivo sin extensión. primero lo asigné a Acrobat Reader , que funciona bien pero limita las posibilidades de abrir un archivo sin una extensión. Por lo tanto, elegí Internet Explorer como mi visor predeterminado para archivos sin extensión. De esta manera, si IE puede abrirlo o conoce un complemento u otra asociación, funcionará.

Probé esto con los archivos "none1" y "none2" en mi escritorio. "none1" es un archivo de texto que dice "hola mundo". "none2" es un archivo pdf.


Aquí está mi archivo .reg :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="htmlfile"

[HKEY_CLASSES_ROOT\.\PersistentHandler]
@="{eec97550-47a9-11cf-b952-00aa0051fe20}"

- Ver captura de pantalla

http://postimg.org/image/xtklrzcoz/

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.