
Hace unas semanas cambié accidentalmente los archivos .bat para abrirlos con Notepad++ (un problema bastante común, creo). En Win XP y Win 7 tenía un archivo .reg que actualizaba las claves de registro relevantes y solucionaba el problema. Sin embargo, este archivo por lotes ya no funciona para Win 8.1 (supongo que las asociaciones de archivos se tratan de manera diferente en Win 8.1) y ninguno de mis trucos manuales de registro funciona.
No importa lo que haga, parece que no puedo restaurar los archivos .bat a su asociación anterior. Finalmente logré desasociar los archivos .bat con Notepad++, pero no puedo entender cómo aplicar los valores predeterminados.
He probado las soluciones enumeradas en los siguientes sitios:
http://www.eightforums.com/tutorials/8486-default-file-associations-restore-windows-8-a.html https://social.technet.microsoft.com/Forums/windows/en-US/a85d8a59-b93b-45a3-8aee-cdf93ce32079/how-do-i-reset-the-default-file-association-for-bat- archivos-en-windows-81?forum=w8itproinstall
Además, ejecuté los siguientes comandos en el símbolo del sistema del administrador sin éxito (ambos informan los valores correctos):
C:\Users\Christopher>assoc .bat
.bat= batfile
C:\Users\Christopher>ftype batfile
batfile="%1" %*
Pero no llego a ninguna parte. ¿Alguien puede ayudar?
Respuesta1
Esto ha sido una pesadilla, pero lo he solucionado con la ayuda de @Pariah. Tuve que ejecutar el siguiente archivo .reg como administrador y luego eliminar manualmente la siguiente clave:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice
Ejecute el archivo de registro como administrador:
runas /user:administrator "regedit /s c:\test.reg"
Archivo de registro:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\batfile]
@="Windows Batch File"
"EditFlags"=hex:30,04,00,00
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00
[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
00,38,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell]
[HKEY_CLASSES_ROOT\batfile\shell\edit]
[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00
[HKEY_CLASSES_ROOT\batfile\shell\open]
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\batfile\shell\print]
[HKEY_CLASSES_ROOT\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\runas]
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\batfile\shell\runas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"
[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"
[HKEY_CLASSES_ROOT\batfile\ShellEx]
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers]
@="Compatibility"
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\OpenGLShExt]
@="{E97DEC16-A50D-49bb-AE24-CF682282E08D}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers]
[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"
Respuesta2
El archivo de registro final que el usuario tuvo que usar para corregir este problema en Windows 8.1 [después de ejecutar el archivo por lotes proporcionado por Notepad++ para configurar notepad++ como controlador de archivos por lotes predeterminado. Probaron las otras dos soluciones debajo de esta. Al final tuvieron que ejecutar lo siguiente en un archivo .reg como administrador.
PRIMERO, para ejecutar un archivo de registro como administrador: Nota: Es mejor colocar este archivo en C:\ y nombrarlo como fix.reg para que al final sea algo así como C:\fix.reg. Si coloca esto en algún lugar donde la ruta y/o el nombre del archivo tenga espacios incluidos, recibirá un mensaje de error y las claves de registro no se agregarán ni cambiarán.
El comando:
runas /user:Administrator "regedit.exe c:\fix.reg"
El contenido del archivo fix.reg:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\batfile]
@="Windows Batch File"
"EditFlags"=hex:30,04,00,00
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00
[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
00,38,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell]
[HKEY_CLASSES_ROOT\batfile\shell\edit]
[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00
[HKEY_CLASSES_ROOT\batfile\shell\open]
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\batfile\shell\print]
[HKEY_CLASSES_ROOT\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\runas]
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\batfile\shell\runas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"
[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"
[HKEY_CLASSES_ROOT\batfile\ShellEx]
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers]
@="Compatibility"
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\OpenGLShExt]
@="{E97DEC16-A50D-49bb-AE24-CF682282E08D}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers]
[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"
[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"
Otras posibles soluciones para probar si lo anterior no funciona para usted [Al menos 1 persona ha verificado que funciona, mientras que lo siguiente no funcionó en Windows 8.1]
Clave de registro para navegar a: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.BAT\UserChoice Elimine la clave denominada "elección del usuario"
Bloque de código para mayor claridad (por solicitud):
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice
También se incluye en la página de referencia como solución lo siguiente:
No estaría de acuerdo en eso. Este no es un problema específico de Windows 8. Algo ha cambiado la asociación del archivo y es necesario volver a cambiarla. Este mismo problema se puede replicar en Windows 2000 (y probablemente en versiones anteriores). ¿Verificó las siguientes claves y se aseguró de que estuvieran configuradas con los valores que se muestran, como se ve en las respuestas de esa publicación?
[HKEY_CLASSES_ROOT.bat] @="archivobat"
[HKEY_CLASSES_ROOT.bat\PersistentHandler] @="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\batfile\shell\open\command] @="\"%1\" %*"
El usuario de esta segunda solución más compleja también tiene un enlace a un archivo *.reg que creó y que debería establecer automáticamente las claves enumeradas encima de este texto en los valores predeterminados. Consulte la parte inferior de la página de referencia, ya que se marcó como Mejor solución y se mantienen al final de la página (¿por qué M$ tomó esa decisión no lo entiendo? ¿No pondría las soluciones en la parte superior de los hilos para que sean más fáciles de encontrar? Bien, M$ )
Eso debería bastar y hacer que notepad++ deje de hacerse cargo. Como nota al margen, puede hacer clic derecho en un archivo *.bat y si hace clic en la entrada Editar en el menú, se abrirá el archivo por lotes en el bloc de notas y al mismo tiempo dejará el doble clic para ejecutar el archivo por lotes en un shell de comandos.
Referencia utilizada [Incluida en el foro de Windows 7 pero es la misma en Windows 8.1 por cierto]:
Información más detallada (cómo abrir regedit y ejecutarlo como administrador si es necesario)
Para este es un poco complicado ya que tenemos que usar el Editor del Registro. DEBE poder hacer esto como usuario, ya que el cambio es a nivel de usuario la mayor parte del tiempo, pero dependiendo de sus políticas de seguridad vigentes, es posible que deba hacer lo siguiente.
- Haga clic en el botón del menú Inicio
- Escribe regedit (simplemente comienza a escribir cuando el menú de inicio esté visible y debería comenzar a buscar automáticamente).
- Una vez que vea aparecer Regedit en la pantalla, haga clic derecho sobre él.
- Cuando vea aparecer el menú contextual, haga clic en Ejecutar como administrador.
- Autenticar (escriba su contraseña de administrador, coloque el dedo en el lector de huellas digitales, como sea que lo haya configurado, es como iniciar sesión en la cuenta)
Nota al margen: puedes probarlo primero sin hacer la parte de administrador si lo deseas. Lo peor que hará es negarle la posibilidad de eliminar la clave enumerada. Si esto sucede debes ejecutarlo como administrador y luego podrás eliminarlo.
Generalmente para la MAYORÍA de las asociaciones de archivos en casi todas las versiones de Windows (aparte de las configuradas por el sistema, como los archivos por lotes):
Todo lo que debe hacer es mantener presionada la tecla Mayús IZQUIERDA mientras hace clic derecho en un archivo *.bat. Cuando haces esto con un archivo, deberías ver aparecer la opción Abrir con... cerca de la parte superior del menú contextual que aparece [el pequeño menú que aparece cuando haces clic derecho en las cosas]. Una vez que haga clic en abrir, aparecerá un cuadro de diálogo donde podrá elegir con qué abrir el archivo. Si marca la casilla Usar como predeterminado en la esquina inferior izquierda, se convertirá en la nueva acción predeterminada cuando haga doble clic en archivos del mismo tipo.
Respuesta3
Faltaba eliminar esta clave de registro (como administrador) en todo lo anterior (Windows 8.1):
HKEY_CURRENT_USER\Software\Microsoft\Windows\Roaming\OpenWith\FileExts.bat\UserChoice.
Espero que esto ayude.