Скрипт PowerShell для ассоциирования приложений в Windows 8 (возможно, с использованием ftype / assoc)

Скрипт PowerShell для ассоциирования приложений в Windows 8 (возможно, с использованием ftype / assoc)

В Windows XP / Vista / 7 было просто повторно ассоциировать элементы из значений по умолчанию в большом количестве с помощью ftype и assoc, как показано ниже. Это было важным средством экономии времени при настройке системы, чтобы убедиться, что все ассоциации соответствуют требованиям пользователя, в противном случае повторно ассоциировать каждое расширение по одному за раз при новых установках было бы (очень) затратно по времени.

В Windows 8, похоже, ничего из этого сейчас не работает. Так, например, файлы .pdf теперь по умолчанию связаны с приложением Metro от Microsoft "Reader". Вручную заново связывать множество (десятки или сотни типов файлов) со стандартными настольными приложениями (например, .pdf следует связывать с Adobe Reader, а не с Microsoft Reader) будет рутиной на новых установках Windows 8. Ниже приведен пример того, как я сделал это в Windows 7 с помощью скрипта cmd, но, очевидно, с развитием PowerShell он, вероятно, более уместен для этого в Windows 8 (плюс, я подозреваю, что для изменения этих ассоциаций Metro может потребоваться доступ к .NET, а cmd — плохой инструмент для этой работы).

Я не думаю, что приложения Metro плохи (на планшетах они будут идеальными), проблема в том, что у них существенно ограниченная функциональность по сравнению с эквивалентами для настольных компьютеров, поэтому было бы неплохо иметь возможность быстро (с помощью скрипта) повторно связать все с приложениями для настольных компьютеров (или наоборот, если я работаю на планшете и хочу, чтобы все было связано с приложениями Metro в этом случае использования).

:: 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

Связанный контент