Unterschied %SYSTEMROOT% & C:\ ?

Php400

Newbie
Registriert
Mai 2023
Beiträge
4
Hallo liebe ITler.
Habe vermutlich eine Anfänger-Frage. Google habe ich natürlich bereits bemüht, jedoch verstehe ich die IT-Sprache zum Teil nicht so ganz, daher erhoffe ich mir hier eine Antwort auf meine Frage.

Wenn ich via Windows Firewall eine neue ausgehende Regel erstelle, um ein Anwendung aus System32 zu blockieren, dann habe ich unterschiedliche Pfade.

Die eine Regel hat den Pfad:
C:\Windows\System32\ …exe

Die andere Regel:
%SYSTEMROOT%\System32\ …exe

Gibt es zwischen diesen beiden Pfaden einen Unterschied?
Falls ja: welchen Pfad nehme ich am besten?

Vielen Dank.
 
Php400 schrieb:
Gibt es zwischen diesen beiden Pfaden einen Unterschied?
Nö, du kommst zum gleichen Ziel ohne den genauen Pfad zu kennen. Bspw. wenn der Laufwerksbuchstabe ein anderer (geworden) ist.

Php400 schrieb:
Wenn ich via Windows Firewall eine neue ausgehende Regel erstelle, um ein Anwendung aus System32 zu blockieren, dann habe ich unterschiedliche Pfade.
XY-Problem? Was genau hast du vor?
 
Besser ist es, den Pfad mit der Variablen %SYSTEMROOT% zu nehmen, falls Windows mal (aus welchen Gründen auch immer) nicht in c:\windows\ liegen sollte.
 
%SYSTEMROOT% als Systemvariable hat 2 "Vorteile" - es ist nur dann gültig, wenn es im Windows-Kontext geladen wird und es ist selbst dann noch gültig, wenn Windows nicht unter C:\Windows installiert wurde.
Aber in >99% der Fälle ist %SYSTEMROOT% identisch zu C:\WINDOWS.
 
es ist im prinzip ein relikt.
aus zeiten, in denen windows NT "portabel" war. was lange her ist, denn mit dem internet explorer kamen die hartcodierten pfade, und die portabibilität war geschichte.
aber geweisse dinge halten sich eben. änderungen kosten ja.

an sich ja eine gute sache, das mit den variablen zu lösen, aber der hauptvorteil ist seit jahrzehnten dahin.
 
  • Gefällt mir
Reaktionen: alQamar
Da die Portabilität eh nicht gegeben ist bzw du eigentlich ziemlich sicher sein kannst, dass% SYSTEMROOT% immer C:/windows sein wird würde ich eher den absoluten Pfad empfehlen. Es gab schon genug Fälle, wo die Variablen nicht sauber funktioniert haben (in meiner Berufshistorie primär %USER%), dass ich mir da wo immer möglich die Kopfschmerzen ersparen würde :D
 
Php400 schrieb:
Gibt es zwischen diesen beiden Pfaden einen Unterschied?
Falsche Frage… 😉
«Gibt es zwischen den Angaben eine Unterschied?» Ja!
Während «C:\WINDOWS» nun nichts Anders denn «C:\WINDOWS» ist kann %SYSTEMROOT% theoretisch «M:\FENSTER» beinhalten.
Dass das sehr theoretisch ist - das sei dahingestellt. Wenn aber ein Freak es hinzaubert sein WIN auf M in FENSTER zu parken dann würde die Systemvariable immer stimmen, ein fixer String nicht.

Termy hat das ja am Benutzernamen erklärt. Programmierer sollten also auf die Variablen setzen statt auf feste Kodierung.

CN8
 
  • Gefällt mir
Reaktionen: alQamar
Dem sei gesagt, dass wir seit Windows Vista nur mit höherem Aufwand einen anderen Pfad als c:\windows für die Installation verwenden können, und man davon ausgehen kann, dass viele Programme nicht %systemroot% verwenden und ein anderer Pfad zu Seiteneffekten führen wird.
 
Zurück
Oben