Mit dem vollständigen Verschieben der Ordner Program Files, Program Files (x86) und ProgramData wäre ich vorsichtig. Das kann zu erheblichen Problemen beim nächsten Upgrade führen. Windowsprogramme sollten auf C bleiben. Ausnahme: Manche Apps erlauben in den Einstellungen ein Verschieben des Speicherortes. Nicht-Windowsprogramme lassen sich mehr oder weniger leicht verschieben (zukünftige gleich auf einer anderen Partition installieren).
Die Lösung zu deiner Frage nennt sich Hard- und Softlink. Ich nutze dafür den SpeedCommander. Es lässt sich auch mittels Eingabeaufforderung erreichen, ist aber nicht so komfortabel.
Wichtig: Ordner/Dateien dürfen nicht mehr im alten Verzeichnis vorhanden und müssen bereits in das neue verschoben worden sein. Bei Programmen sollte geprüft werden, ob in den Einstellungen die Speicherpfade geändert werden können. Manche Verzeichnisse werden im laufenden Betrieb verwendet und lassen sich nicht ohne Weiteres löschen (ggf. PC mit Live-CD starten und von dort aus den Ordner verschieben). Speicherorte, die ein Leerzeichen im Namen erhalten müssen in Anführungszeichen gesetzt werden.
Hardlink
Verknüpfung auf eine Datei auf derselben Partition. Selbst wenn die Originaldatei gelöscht wird, bleibt die Datei bestehen - es gibt im Grunde keine Originaldatei. Das Duplikat benötigt keinen zusätzlichen Speicherplatz. Die Datei ist erst gelöscht, wenn alle Hardlinks gelöscht sind. Die Dateinamen können auch unterschiedlich sein.
mklink /H C:\dira\HardLink.txt C:\dirb\dirc\Original.txt
Junction
Verzweigung. Verschiebt Verzeichnis auf gleiche oder andere Partition; gaukelt so z. B. einem Programm das ursprüngliche Verzeichnis vor. Das ursprüngliche Verzeichnis existiert eigentlich nicht mehr. Bietet sich an, wenn ein Programm keinen individuellen Speicherort erlaubt oder aufgrund von Speicherplatzproblemen verschoben werden muss. Bei Systemzurücksetzung einfach Programm von C: löschen; nicht deinstallieren. Registrierungseinträge bleiben somit bestehen.
mklink /J „C:\Eigene Bilder“ „D:\Eigene Dateien\Bilder“
Symbolischer Link
Wie eine normale Verknüpfung auf eine Datei, Verzeichnis oder Programm. Wird das Original umbenannt, verschoben oder gelöscht, läuft der Link ins Leere.
auf eine Datei: mklink D:\mklink\SymLink.txt D:\mklink\Original.txt
auf ein Verzeichnis: mklink /D D:\SymLinkVerzeichnis D:\OriginalVerzeichnis
Anzeige aller Links in einem Verzeichnis mit Dateiexport
dir /al /s c:\ > d:\links.txt
nur Symbolischer Link dir /al /s C:\ | find „SYMLINK“ > d:\links.txt
nur Junction dir /al /s C:\ | find „JUNCTION“ > d:\links.txt
Weitere Pfade für Downloads, Musik, Bilder... ändern
Außerdem lassen sich noch AppData\Roaming, Desktop, Dokumente, Favoriten, Gespeicherte Spiele, Kontakte, Links und Suchvorgänge über Rechtsklick auf jeweiligen Ordner – Eigenschaften – Pfad verschieben. Bietet sich sofort nach Neuinstallation an, da noch keine Programme die alten Pfade nutzen. Einträge wie Start Menu oder Programme sollten nicht geändert werden.