Enquanto algumas pessoas envergonham assoc
e ftype
como inúteis neste relacionado Q&A ,
a questão acima é evidência do contrário.
Tanto assoc
como ftype
são comandos internos para o cmd.exe
assoc /?
assoc.com /?
assoc.exe /?
help assoc
Irá retornar o mesmo texto de ajuda:
Displays or modifies file extension associations ASSOC [.ext[=[fileType]]] .ext Specifies the file extension to associate the file type with fileType Specifies the file type to associate with the file extension Type ASSOC without parameters to display the current file associations. If ASSOC is invoked with just a file extension, it displays the current file association for that file extension. Specify nothing for the file type and the command will delete the association for the file extension.
Mas não há arquivo presente (Portanto, isso não funciona no PowerShell, por exemplo) O mesmo se aplica ao ftype.
Para pesquisar qual tipo de arquivo está associado a uma extensão (aqui .txt):
> assoc .txt
.txt=txtfile
Para procurar o comando para abrir , este tipo de arquivo é usado:
> ftype txtfile
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
Para outros verbos você tem que tomar a rota pelo registro
> Reg query "HKCR\txtfile" /S
HKEY_CLASSES_ROOT\txtfile
(Default) REG_SZ Text Document
EditFlags REG_DWORD 0x210000
FriendlyTypeName REG_EXPAND_SZ @%SystemRoot%\system32\notepad.exe,-469
HKEY_CLASSES_ROOT\txtfile\DefaultIcon
(Default) REG_EXPAND_SZ %SystemRoot%\system32\imageres.dll,-102
HKEY_CLASSES_ROOT\txtfile\shell
HKEY_CLASSES_ROOT\txtfile\shell\open
HKEY_CLASSES_ROOT\txtfile\shell\open\command
(Default) REG_EXPAND_SZ %SystemRoot%\system32\NOTEPAD.EXE %1
HKEY_CLASSES_ROOT\txtfile\shell\print
HKEY_CLASSES_ROOT\txtfile\shell\print\command
(Default) REG_EXPAND_SZ %SystemRoot%\system32\NOTEPAD.EXE /p %1
HKEY_CLASSES_ROOT\txtfile\shell\printto
HKEY_CLASSES_ROOT\txtfile\shell\printto\command
(Default) REG_EXPAND_SZ %SystemRoot%\system32\notepad.exe /pt "%1" "%2" "%3" "%4"
Editar: aplicativo para a pergunta original:
Por este meio, os resultados de assoc
e ftype
antes:
Prompt>assoc .dmupgrade
.dmupgrade=dmupgrade
Prompt>ftype dmupgrade
dmupgrade=C:\<Company>\Tools\TaskbarUtility\TaskbarUtility.exe "%l"
O seguinte comando foi lançado:
Prompt>ftype dmupgrade=C:\Program Files\<Company>\TaskbarUtility.exe "%1"
Isso falhou no início, porque eu precisava fazer isso como administrador :-), mas depois de abrir um prompt de administrador, meu problema foi resolvido.