В то время как некоторые люди позорят assoc
и ftype
бесполезны в этом связанном вопросе и ответе,
вышеупомянутый вопрос - свидетельство противоположного.
Оба assoc
и ftype
являются внутренними командами к cmd.exe
assoc /? assoc.com /? assoc.exe /? help assoc
Вернет тот же текст справки:
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.
Но файла нет (поэтому в PowerShell это не работает). То же самое относится и к ftype.
Чтобы посмотреть, какой тип файла связан с расширением (здесь .txt):
> assoc .txt .txt=txtfile
Чтобы посмотреть, какая команда используется для открытия этого типа файла:
> ftype txtfile txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
Для других глаголов вы должны пройти путь через реестр
> 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"
Изменить: приложение к первоначальному вопросу:
Настоящим результаты assoc
и ftype
до:
Prompt>assoc .dmupgrade .dmupgrade=dmupgrade Prompt>ftype dmupgrade dmupgrade=C:\<Company>\Tools\TaskbarUtility\TaskbarUtility.exe "%l"
Следующая команда была запущена:
Prompt>ftype dmupgrade=C:\Program Files\<Company>\TaskbarUtility.exe "%1"
Сначала это не удалось, потому что мне нужно было выполнять это как администратор :-), но после открытия приглашения администратора моя проблема была решена.