PowerShell-Skript zum Verknüpfen von Anwendungen in Windows 8 (ggf. unter Verwendung von ftype/assoc)

PowerShell-Skript zum Verknüpfen von Anwendungen in Windows 8 (ggf. unter Verwendung von ftype/assoc)

Unter Windows XP / Vista / 7 war es einfach, Elemente in großen Mengen von den Standardeinstellungen neu zuzuordnen, indem man ftype und assoc wie unten verwendet hat. Dies war eine wichtige Zeitersparnis bei der Systemeinrichtung, um sicherzustellen, dass alle Zuordnungen den Wünschen des Benutzers entsprechen, da es sonst (sehr) zeitaufwändig ist, bei Neuinstallationen jede Erweiterung einzeln neu zuzuordnen.

Unter Windows 8 scheint das alles nicht mehr zu funktionieren. So sind beispielsweise PDF-Dateien jetzt standardmäßig mit Microsofts Metro-App „Reader“ verknüpft. Die vielen (Zehntel oder Hunderte von Dateitypen) manuell mit Standard-Desktop-Apps neu verknüpfen zu müssen (z. B. sollte PDF mit Adobe Reader statt mit Microsoft Reader verknüpft werden), wird bei neuen Windows 8-Installationen eine lästige Pflicht. Unten sehen Sie ein Beispiel, wie ich dies unter Windows 7 mit einem cmd-Skript gemacht habe, aber angesichts der Weiterentwicklung von PowerShell ist dies unter Windows 8 wahrscheinlich besser geeignet (außerdem vermute ich, dass zum Ändern dieser Metro-Verknüpfungen Zugriff auf .NET erforderlich sein könnte, und cmd ist für diese Aufgabe kein gutes Tool).

Ich denke nicht, dass Metro-Apps schlecht sind (auf Tablets wären sie ideal). Das Problem ist, dass sie im Vergleich zu den Desktop-Äquivalenten eine massiv eingeschränkte Funktionalität haben. Daher wäre es gut, wenn man alles schnell (per Skript) wieder mit den Desktop-Apps verknüpfen könnte (oder auch umgekehrt, wenn ich an einem Tablet arbeite und in diesem Anwendungsfall alles mit den Metro-Apps verknüpfen möchte).

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

verwandte Informationen