Es ist leider die einzige Zukunft, mit der man vernünftig arbeiten kann. Natürlich erfordert es mehr Einarbeitung, aber es bietet auch erheblich mehr. Und bei komplexeren Batch-Strukturen wesentlich leichter umzusetzen.
Mir ist das im Prinzip schleierhaft, warum MS selbst an diesem überholten Quark festhält, nur um Alt-Admins zu hofieren. Es gibt reichlich Befehle, die schon auf 32 oder 64 Bit gehoben worden sind - ohne Eingabeaufforderumg und comspec, da fehlt die letzte Konsequenz. Es wäre schon gut, wenn man NET nicht mehr nutzen könnte auf dieser Ebene, im Bereich Netzwerk und Zugriffe. Statische Zuweisen via net use sind überholt. Allerdings kann NET noch mehr. Genauso wie ipconfig und ähnliche, ob das auch mit PS umsetzbar ist kann ich nicht sagen, bei ipconfig wird blanko die Registry ausgelesen, ist mit jedem anderen Script auch möglich und zwar auf einer Ebene, die schneller und direkter arbeitet.
Negativbeispiel ist REG, welches direkt mit der Registry hantiert und auch für "schlechte" (zB versteckte) Einträge nutzbar ist. Als Admin kann man vieles abschalten, aber sowas hätte ich ganz rausgekickt.
Ich arbeite bei komplexen Probleme gerne mit AutoIt, entweder mit den Scripten oder als Kompilation.
In Bezug auf assoc würde ich eher auf eine Reg-Datei zurückgreifen. Natürlich ist deine Lösung mit Batch-Parametern variabler. Es gäbe auch die Option "OpenWithList", zB
HKEY_CLASSES_ROOT\.htm\OpenWithList
Bsip: HKEY_CLASSES_ROOT\.htm\OpenWithList\notepad.exe
keine weiteren Werte, die Angabe notepad.exe reicht schon, notepad.exe muss sich dann auch unter den eingetragenen Apps befinden:
HKEY_CLASSES_ROOT\Applications\notepad.exe
oder
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\filetype\OpenWithList
https://technet.microsoft.com/de-de/library/ee851670.aspx
Unter Windows Home sind diese Möglichkeiten begrenzt, ab der Pro könnte man auch die GPO für Programmzuordnungen zu ändern.