Script do PowerShell para associar aplicativos no Windows 8 (possivelmente empregando ftype/assoc)

Script do PowerShell para associar aplicativos no Windows 8 (possivelmente empregando ftype/assoc)

No Windows XP/Vista/7, era simples reassociar itens fora dos padrões em massa usando ftype e assoc conforme abaixo. Isso economizou muito tempo na configuração do sistema para garantir que todas as associações sejam conforme o usuário deseja; caso contrário, seria (muito) demorado reassociar cada extensão, uma de cada vez, em novas instalações.

No Windows 8, nada disso parece funcionar agora. Por exemplo, os arquivos .pdf agora estão associados por padrão ao aplicativo Metro da Microsoft "Reader". Ter que reassociar manualmente muitos (10 ou centenas de tipos de arquivos) a aplicativos de desktop padrão (por exemplo, .pdf deve ser associado ao Adobe Reader, em vez do Microsoft Reader) será uma tarefa árdua nas novas instalações do Windows 8. Abaixo está um exemplo de como fiz isso no Windows 7 usando um script cmd, mas obviamente com o avanço do PowerShell é provavelmente mais apropriado para isso no Windows 8 (além disso, suspeito que o acesso ao .NET pode ser necessário para alterar esses Metro associações, e o cmd é uma ferramenta ruim para esse trabalho).

Não acho que os aplicativos Metro sejam ruins (em tablets eles serão ideais), o problema é que eles têm funcionalidade extremamente limitada em comparação com os equivalentes para desktop, então seria bom poder reassociar tudo rapidamente (com script) para os aplicativos Desktop (ou também o contrário, se eu estiver trabalhando em um tablet e quiser tudo associado aos aplicativos Metro nesse caso de uso).

:: File assoc and ftype: RAR, ZIP, NFO, DIZ, CBR, CBZ, DJVU, etc
:: ####################
:: Note: at commandline, would type ftype txtNFO="%SystemRoot%\system32\NOTEPAD.EXE" "%1"
:: but in batch script have to double up the % characters, ftype txtNFO="%SystemRoot%\system32\NOTEPAD.EXE" "%%1"
:: plus note the " characters, have to be careful about these
if exist "C:\Program Files (x86)\7-Zip\7zFM.exe" ftype 7zFM="C:\Program Files (x86)\7-Zip\7zFM.exe" "%%1"
if exist "C:\Program Files\7-Zip\7zFM.exe" ftype 7zFM="C:\Program Files\7-Zip\7zFM.exe" "%%1"ftype txtNFO="%%SystemRoot%%\system32\NOTEPAD.EXE" "%%1"
ftype txtDIZ="%%SystemRoot%%\system32\NOTEPAD.EXE" "%%1"
ftype QuickPAR="D:\Toolkit\QuickPAR\QuickPAR.exe" "%%1"
ftype CDisplay="D:\Toolkit\CDisplay\CDisplay.exe" "%%1"
if exist "D:\Toolkit\Microsoft Reader\msreader.exe"         ftype MSReader="D:\Toolkit\Microsoft Reader\msreader.exe" "%%1"
if exist "D:\Toolkit\Mobipocket Reader\reader.exe"          ftype MobiPocket="D:\Toolkit\Mobipocket Reader\reader.exe" "%%1"
if exist "D:\Toolkit\Stanza\Stanza.exe"                     ftype Stanza="D:\Toolkit\Stanza\Stanza.exe" "%%1"
assoc .lit=MSReader
assoc .mobi=MobiPocket
assoc .prc=MobiPocket
assoc .azw=MobiPocket
assoc .epub=Stanza
assoc .par=QuickPAR
assoc .par2=QuickPAR
assoc .sfv=QuickPAR
assoc .md5=QuickPAR
assoc .7z=7zFM
assoc .rar=7zFM
assoc .zip=7zFM

informação relacionada