Hello world!
Estaba cansado de tener que usar "assoc" para buscar si existe una estenxion, Y luego "ftype" para buscar la asociacion de esa extensión... bah!
He creado mi propia utilidad,
ASSOC7.
Muchos conocerán la utilidad "
Associate.exe" de
mierd@soft Microsoft, Pues hace basicamente CASI lo mismo que mi utilidad, Pero "
Associate.exe" no funciona correctamente (Crea mal las asociaciones).
El modo de usar este script es parecida a la utilidad "
Associate"...
ASSOC7[OPCIÓN] [Extension] [Programa]
Pero mejorado!
- Opciones:
-a (Asociar una extensión)
-c (Crear una extension y una asociación para esa extensión)
-d (Desasociar una asociación)
Ejemplo para asociar:
ASSOC7.exe -a .url notepad.exe
(Ftype urlfile="C:\windows\system32\notepad.exe" "%1")
Ejemplo para crear:
ASSOC7.exe -c .elektro "%Windir%\notepad.exe"
(Reg add "HKCR\.elektro\.elektro.file"
Ftype .elektro.file="C:\windows\system32\notepad.exe" "%1")
Ejemplo para desasociar:
ASSOC7.exe -d .elektro
(Ftype .elektro.file="")
Comparaciones: ASSOC7 AssociateFunciona en Windows 7 SI NO
Crea asociaciones SI NO
Modifica asociaciones SI SI (...Las jode en Windows 7, Menos la del
notepad, Todas las demás.)
Elimina asociaciones SI SI
Se pueden usar nombres cortos para los programas SI SI (Solamente si la instalación del programa está registrada en "
AppPaths")
No tengo nada más que añadir.
Espero que a alguien le sirva como me servirá a mi
Salu2!
El code:REM| ASSOC7 v1.0
REM|
REM| By Elektro H@cker
REM| Herramienta para asociar y desasociar extensiones de archivos.
REM|
REM| Nota:
REM| Si una extensión no tiene una asociación, Se creará una nueva añadiendo el sufijo ".file" al nombre de la extensión.
REM| Por ejemplo, Si existe la extensión ".Elektro" Pero no está asociada. La nueva asociación se llamará ".Elektro.File".
REM Control de errores
Echo %1 | Findstr /I /R "\-a \-c \-d"
>NUL
call :
Buscar_programa "
%~1" "
%~2" "
%~3"
Set "Program=
%Windir%\System32\
%3"
)
Reg query "HKCR\
%~2"
>NUL 2
>&1
)
:Buscar_clave
Reg query "HKCR\
%~2"
>NUL 2
>&1
:Buscar_programa
For /F "Tokens=*"
%%a in ('
Dir /B /S "
%PROGRAMFILES(X86)%\
%~3" 2
^>nul'
) do ( )
)
For /F "Tokens=*"
%%a in ('
Dir /B /S "
%PROGRAMFILES%\
%~3" 2
^>nul'
) do ( )
)
For /F "Tokens=*"
%%a in ('
Dir /B /S "
%WINDIR%\SYSWOW64\
%~3" 2
^>nul'
) do ( )
)
:ERROR.SWITCH
Echo: No existe la opcion "
%~1"
:ERROR.EXT
Echo: No existe la extension "
%~2"
:ERROR.PATH
Echo: No se ha podido encontrar el programa "
%~nx3"
:ERROR.DESA
Echo: La extension no estaba asociada a ningun programa. "
%~2"
:AYUDA
Echo: Assoc7
(By Elektro H
@cker
) Echo+ Herramienta para asociar tipos de archivos.
Echo+ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
Echo:
%~n0 [Opcion] [Extension] [Ruta de la aplicacion]
Echo; -a [Asocia una extension a un programa
Echo: -c [Crea una extension
con su asociacion, Y la asocia a un programa]
Echo: -d [Desasocia una asociacion existente]
Echo:
%~n0 -a .url Notepad.exe
REM ASSOC7
:ASSOC7
:Comprobar_asociar
For /F "Tokens=1,2* delims= "
%%a in ('Reg query "HKCR\
%~2"
^| find "Predeterminado"'
) do ( )
:Comprobar_desasociar
For /F "Tokens=1,2* delims= "
%%a in ('Reg query "HKCR\
%~2"
^| find "Predeterminado"'
) do ( )
:Comprobar_crear
Reg query "HKCR\
%~2"
>nul 2
>&1
:Crear
Reg add "HKCR\
%~1" /d "
%~2.File" /F
>nul 2
>&1
:Crear0
Reg add "HKCR\
%~2" /F
>nul 2
>&1
Reg add "HKCR\
%~2" /d "
%~2.File" /F
>nul 2
>&1
:Asociar
Ftype %Tipo%="%PROGRAM%" "%%1" | MORE
:Desasociar
Ftype %Tipo%="" | MORE