Script de PowerShell para asociar aplicaciones en Windows 8 (posiblemente empleando ftype/assoc)

Script de PowerShell para asociar aplicaciones en Windows 8 (posiblemente empleando ftype/assoc)

En Windows XP/Vista/7, era sencillo volver a asociar elementos fuera de los valores predeterminados de forma masiva utilizando ftype y assoc como se muestra a continuación. Esto supuso un importante ahorro de tiempo en la configuración del sistema para garantizar que todas las asociaciones sean las deseadas por el usuario; de lo contrario, lleva (mucho) tiempo volver a asociar cada extensión una a la vez en nuevas instalaciones.

En Windows 8, nada de esto parece funcionar ahora. Así, por ejemplo, los archivos .pdf ahora están asociados de forma predeterminada con la aplicación Metro de Microsoft "Reader". Tener que volver a asociar manualmente muchos (10 o cientos de tipos de archivos) a aplicaciones de escritorio estándar (por ejemplo, .pdf debe asociarse con Adobe Reader, en lugar de Microsoft Reader) será una tarea ardua en las nuevas instalaciones de Windows 8. A continuación se muestra un ejemplo de cómo hice esto en Windows 7 usando un script cmd, pero obviamente con el avance de PowerShell probablemente sea más apropiado para esto en Windows 8 (además, sospecho que es posible que se requiera acceso a .NET para cambiar estos Metro asociaciones, y cmd es una mala herramienta para ese trabajo).

No creo que las aplicaciones de Metro sean malas (en tabletas serán ideales), el problema es que tienen una funcionalidad enormemente limitada en comparación con sus equivalentes de escritorio, por lo que sería bueno poder volver a asociar todo rápidamente (con script). a las aplicaciones de escritorio (o también al revés si estoy trabajando en una tableta y quiero que todo esté asociado a las aplicaciones de Metro en ese 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

información relacionada