Jump to content

Windows Explorer ohne Täuschungsmanöver


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Mir ist aufgefallen, daß der Windows Explorer in Vista den Ordner "C:\Programme" anzeigt, obwohl er auf der Festplatte eigentlich "C:\Program Files" heißt. (Das merkt man, wenn man über die Eingabeaufforderung rangeht.)

 

Kann man den Windows Explorer in Vista dazu motivieren, alles ohne jegliche Täuschungsmanöver so anzuzeigen, wie es auch tatsächlich auf der Platte ist?

Link zu diesem Kommentar

Hi Death,

 

das Phänomen wird durch die Junction Points in Vista hervorgerufen, da ich gerade an ner XP Workstation sitze, kann ich nicht nachschauen, aber imho kann man die Anzeige im Vista Explorer nicht so umbiegen, dass nur "echten" Dateipfade angezeigt werden.

 

Das ganze hat nämlich mit der Ansicht relativ wenig zu tun, da die junction points eine Funktion vom NTFS-Filesystem sind die es schon vor Vista gab, nur eben jetzt verstärkt zum Einsatz kommen.

 

Svrops.com - Windows Vista Junction Points

 

Mit dem kleinen Befehlt wie oben beschrieben, kannst du aber eine Auflistung der Junction-Points u. der Targets erhalten:

 

 C:\>dir /aL /s > c:\users\<username>\JunctionPoints.txt

 

LG Gadget

Link zu diesem Kommentar

Man kann den Explorer schon dazu animieren den Originalpfad anzuzeigen, allerdings meines Wissens immer nur durch einen Klick in einen freien Bereich der Adressleiste (also etwa hinter dem angezeigten Ordner/Namen).

 

Theoretisch lassen sich alle JunctionPoints über die im jeweiligen Ordner vorhandene "desktop.ini" sogar mit eigenen Namen versehen, bei den Programmordnern oder dem Profilverzeichnis sollte man jedoch tunlichst die Finger von derlei Spielchen lassen, sonst gibt es Probleme mit Programminstallationen oder dem System überhaupt, da viele Aufrufe nur über die JunctionPoints realisiert sind.

 

Grüsse

 

Gulp

Link zu diesem Kommentar

Vielen Dank für die Antworten.

 

Das ganze hat nämlich mit der Ansicht relativ wenig zu tun, da die junction points eine Funktion vom NTFS-Filesystem sind die es schon vor Vista gab, nur eben jetzt verstärkt zum Einsatz kommen.

 

Also wenn ich in der Eingabeaufforderung einen gewöhnlichen DIR ohne Kommandozeilenparameter mache, dann zeigt er mir die richtigen Namen. Es ist also schon eine Sache der Ansicht. IMHO ist ein Explorer, der nicht die richtigen Dateinamen anzeigen kann, Pfusch.

 

Aber soweit ich das verstanden habe, handelt es sich bei den Junction Points letztlich um nichts anderes als das, was man in der Unix-Welt als hard link bezeichnet. Auch der Artikel, auf den Du verlinkt hast, erklärt das so. Aber das müßte sich dann in der Praxis doch so darstellen, daß jetzt z.B. der "Programme"-Ordner für die Vistas aller Sprachen einheitlich "Program Files" heißt, daneben aber in der deutschen Version auch noch der Kompatibilität halber der junction point "Programme" vorhanden ist, der auf "Program Files" verweist.

 

Dann ist aber nicht zu erklären, weshalb der Windows Explorer zwar den junction point "Programme" anzeigt, das tatsächliche Verzeichnis "Program Files" aber nicht! Dabei habe ich die Option "Versteckte Dateien und Ordner anzeigen" gewählt und "geschützte Systemdateien ausblenden" deaktiviert.

 

Das ist es, was mir unklar ist. Nicht die Tarnung der junction points als echte Verzeichnisse, die es in den früheren Windows-Versionen auch schon gab, sondern das Nicht-Anzeigen des realen Ordners!

 

Tatsächlich ist es sogar so, daß die Eingabeaufforderung die junction points nicht anzeigt. Das macht die Sache besonders tückisch und IMHO hirnverbrannt. Wenn ich unter XP einen junction point setze, dann ist der da und sieht aus wie das reale Verzeichnis, egal womit ich draufgucke. Unter Vista brauche ich dafür aber offenbar den von Gadget genannten Kommandozeilenparameter. Letzteres läßt sich wohl nicht ändern. Schön wäre aber, wenn der Explorer dazu motiviert werden könnte, beides anzuzeigen, so daß wieder transparente Verhältnisse entstehen. Er stellt zwar die junction points dar, markiert sie aber als "Verknüpfung" (wodurch das Prinzip des hard link vergewaltigt wird, weil es auf diese Weise eher soft links zu sein scheinen). Wenn also durch das Setzen des junction points nicht das reale Verzeichnis unsichtbar werden würde, dann wäre viel gewonnen. Denn letzteres hat mit der Idee des junction points, wie sie im von Gadget genannten Link beschrieben ist, nichts zu tun. Es erschwert nur dem Admin die Arbeit, weil er jetzt schon gar nicht mehr sieht, wie die Verzeichnisstruktur beschaffen ist. Ich wage gar nicht daran zu denken, was passiert, wenn ein Anwender, der mit einem solidem Computerhalbwissen ausgestattet ist, eigene Junction Points setzt, die womöglich quer über die Festplatte verweisen und die echten Verzeichnisse daraufhin von Windows automatisch getarnt werden...

 

Man kann den Explorer schon dazu animieren den Originalpfad anzuzeigen, allerdings meines Wissens immer nur durch einen Klick in einen freien Bereich der Adressleiste (also etwa hinter dem angezeigten Ordner/Namen).

 

Das habe ich nicht verstanden. Kannst Du bitte nochmal genau erklären, wo ich da hinklicken muß?

Link zu diesem Kommentar

Na ganz einfach, der Explorer zeigt folgendes in der Adressleiste an: "Programme"

 

Du klickst halt irgendwo in den restlichen Bereich der Adressleiste (nicht auf den Namen "Programme", am Besten dahinter, so dass man "Programme" nicht markiert) und schon steht in der Adressleiste "C:\Program Files".

 

Die Umbennung oder Lokalisierung der JunctionPoints funktioniert über die Datei "desktop.ini" deshalb kann die Kommandozeile dies nicht anzeigen, die wertet im Gegensatz zum Explorer die "desktop.ini" nicht aus.

 

Grüsse

 

Gulp

Link zu diesem Kommentar

@Gulp: Danke für den Hinweis mit der Desktop.ini

 

@DeathandPain2:

Ob sie die der Kommandozeile, angezeigt werden o. nicht da sind sie trotzdem u. können auch angesteuert werden ... u. Daniel M. hat weiter unter beschrieben wie sie im Explorer auch ausgeblendet werden können:

 

Lies mal hier weiter:

.: Daniel Melanchthon :. : Kein Zugriff auf Verzeichnisse unter Windows Vista?

 

Damit die Anwender von diesen Links nicht irritiert werden und vor allem die Übersichtlichkeit von Ordnern wie C:\Users\daniel erhalten bleibt, blendet Windows Vista standardmäßig diese Links aus. Das Ausblenden lässt sich über die Einstellungen des Explorers auf dem Ansicht-Tab unter Extras | Ordneroptionen... konfigurieren. Dort findet man die Option Geschützte Systemdateien ausblenden (empfohlen), welche standardmässig aktiviert ist.

 

Diese Option sollte auch nicht ausgeschaltet werden, weil das Verhalten sich dabei von den Vorgängerversionen unterscheidet. Unter Windows Vista reicht es aus, die versteckten Dateien einblenden zu lassen, wenn man die Systemordner sehen möchte, die bei Windows XP bei gleicher Konfiguration damit noch nicht zu sehen bekam.

 

LG Gadget

Link zu diesem Kommentar
Na ganz einfach, der Explorer zeigt folgendes in der Adressleiste an: "Programme"

 

Du klickst halt irgendwo in den restlichen Bereich der Adressleiste (nicht auf den Namen "Programme", am Besten dahinter, so dass man "Programme" nicht markiert) und schon steht in der Adressleiste "C:\Program Files".

Ok, jetzt habe ich es verstanden, danke. Das bedingt aber, daß man in dem Ordner schon drinsitzt, dessen wahren Namen man erfahren möchte. Sitzt man noch eine Ebene höher, also auf C:\, dann hat man demnach anscheinend keine Chance zu sehen, wie die Unterordner denn wirklich heißen.

 

Lies mal hier weiter:

.: Daniel Melanchthon :. : Kein Zugriff auf Verzeichnisse unter Windows Vista?

Danke für den Link. Der Artikel ist schön geschrieben und erklärt noch mal das, was wir hier in diesem Thread schon ausgearbeitet haben. Allerdings sagt Daniel:

 

oder fühlt sich als Administrator bevormundet. Nichts von alledem ist hier jedoch der Fall.

Doch, genau das ist IMHO der Fall. Denn dem Administrator wird vorgeschrieben, daß er die wahren Namen der Verzeichnisse nicht zu sehen braucht. Er hat euren Erklärungen zufolge auch keine Chance, daran etwas zu ändern (-> Bevormundung). Die Deaktivierung der Option "Systemdateien ausblenden" zeigt zwar die Links an, aber dennoch behält das tatsächliche Verzeichnis den Namen des Links. Diese Option leistet also nicht das, was sie leisten soll: Sie gibt dem Admin nicht die Möglichkeit, wieder alles so zu sehen, wie es tatsächlich auf der Platte ist. Dazu aber ist sie Daniel zufolge da. -> Does not work as designed. -> Pfusch

 

Gibt es einen alternativen Explorer, der unter Vista läuft und die Verzeichnisse so anzeigen kann, wie der DIR-Befehl das macht? Sowas in Richtung A43 File Management Utility von BartPE.

Link zu diesem Kommentar

Hmm ich sehe hier absolut keine Bevormundung ....

 

Ehrlich gesagt ist es mir sogar piepsegal wie das Verzeichnis in Wirklichkeit heisst, solange ich per Explorer oder CMD dorthin komme.

 

Ich hab das auch gerade mal ausprobiert .... per cd Programme lande ich eben auf c:\Programme, per cd "Program Files" auf c:\Program Files (was ja das Gleiche ist). (das überstimmt gleich meine These, die CMD werte die desktop.ini nicht aus, scheint ja wohl doch. Lediglich ein Directory Listing blendet offensichtlich die JunctionPoints aus. Ist aber wohl auch besser so, sonst kämen bestimmt ein paar User auf den glorreichen Gedanken einen der "doppelten" Ordner zu löschen ..... ;) )

 

Ich hasse es eher wenn Entwickler nicht mächtig sind mit Variablen zu arbeiten und man unter XP einmal den Ordner Programme und einmal den Ordner Program Files unter C: findet weil man nicht mächtig oder zu faul ist Variablen wie %program_files% im Installationsskript anzuwenden. Das empfinde ich, für mich, eher als Bevormundung.

 

Unter Vista ist's damit endlich Essig, da landet alles in c:\Program Files oder c:\Programme oder wie es auch immer in der jeweiligen Landessprache heisst.

 

Ich sehe da eigentlich nur Vorteile drin.

 

Grüsse

 

Gulp

Link zu diesem Kommentar
Ich würde mal den FreeCommander testen, kann ich aber erst heute Abend prüfen ob der das entsprechende Ergebnis liefert.

 

Dankeschön, das ist lieb von Dir.

 

Ehrlich gesagt ist es mir sogar piepsegal wie das Verzeichnis in Wirklichkeit heisst, solange ich per Explorer oder CMD dorthin komme.

 

Ich hingegen werde doch deutlich irritiert, wenn mir eine Installationsroutine sagt, daß sie nach "C:\Program Files" installiert, und wenn ich dann im Explorer den Ordner C:\ anschaue, dann gibt es den Unterordner "Program Files" gar nicht. Für den DAU mag das so ok sein, aber wie gesagt, für Admins wäre ein Klicker notwendig, der tatsächlich die realen Verhältnisse anzeigt. Im Prinzip ist das schon ok so mit dem "Systemdateien nicht ausblenden"-Klicker, der dann die Junction Points als Verknüpfungen anzeigt. Nur müßte dieser Klicker halt gleichzeitig auch dazu führen, daß bei den richtigen Verzeichnissen auch die richtigen Namen angezeigt werden. Momentan wird da unter C:\ der Ordner "Programme" sowie zusätzlich die Verknüpfung "Programme" angezeigt, und das ist nicht dienlich. Ob man die Virtualisierung möchte, ist jedem selbst überlassen. Aber wenn man sie mit jenem Klicker ausschaltet, na dann sollte sie auch ausgeschaltet sein.

 

Lediglich ein Directory Listing blendet offensichtlich die JunctionPoints aus. Ist aber wohl auch besser so, sonst kämen bestimmt ein paar User auf den glorreichen Gedanken einen der "doppelten" Ordner zu löschen ..... )

 

Kann man sich drüber streiten. Mit persönlich wäre es lieber, wenn der DIR-Befehl beides anzeigen würde, denn ein junction point ist eben ein hard link und keine Verknüpfung. Einfache User benutzen die Eingabeaufforderung sowieso nicht. Wer damit arbeitet, der muß ohnehin wissen, was er tut. Das scheint ja sogar Microsoft so zu sehen, sonst würde dort nicht der reale Name "Program Files" angezeigt werden, wenn man DIR ohne Parameter aufruft.

 

Und das mit dem "Doppelte Ordner löschen" sehe ich kommen, wenn jene zahlreichen User auf dem Erfahrungsstand "Gesundes Halbwissen, von dem sie sehr überzeugt sind" die Systemdateien anzeigen lassen, dann im Explorer sehen, daß es den Ordner "Programme" zweimal gibt, und dann einen davon weghauen. :) Würde der eine davon korrekt als "Program Files" angezeigt werden, dann wären sie vielleicht schon vorsichtiger, und die intelligenteren unter ihnen würden den kleinen Verknüpfungspfeil an "Programme" dann vielleicht sogar richtig interpretieren. So aber sieht das wie eine sinnlose Verknüpfung aus, die genauso heißt wie ihr Ziel und auch an demselben Ort liegt.

 

Ich hasse es eher wenn Entwickler nicht mächtig sind mit Variablen zu arbeiten und man unter XP einmal den Ordner Programme und einmal den Ordner Program Files unter C: findet weil man nicht mächtig oder zu faul ist Variablen wie %program_files% im Installationsskript anzuwenden. Das empfinde ich, für mich, eher als Bevormundung.

 

Da bin ich Deiner Meinung. Zumal man die Variable ja auch ganz woandershin umbiegen kann. Bei mir zu Hause weist sie zum Beispiel auf eine ganz andere Partition, denn auf die FAT16-Partition, auf der XP drauf ist, paßt der Programme-Ordner nicht mehr mit drauf. :)

 

Aber den Pfusch der Drittsoftwareentwickler kann man Microsoft nicht vorwerfen. Die waren gezwungen, hier irgendeine Form von Workaround zu schaffen. Allerdings wäre es vielleicht besser gewesen, die Umbiegung des Programme-Verzeichnisses und der Benutzerordner direkt im Programmcode von Windows zu verankern und nicht im Dateisystem abzubilden. Ähnlich läuft es ja auch bei der Dateiwiederherstellung, bei der veränderte Systemdateien flugs aus dem Dateicache wiederhergestellt werden.

Link zu diesem Kommentar
Unter Vista ist's damit endlich Essig, da landet alles in c:\Program Files oder c:\Programme oder wie es auch immer in der jeweiligen Landessprache heisst.

 

Ich sehe da eigentlich nur Vorteile drin.

 

Mit dem Essig bin ich mir nicht so ganz sicher. Recht hast Du, daß die weltweite Vereinheitlichung des Ordnernamens vorteilhaft ist. Auch für Microsoft, die damit leichter patchen können. Aber auf der anderen Seite wird das dazu führen, daß Programmierer, die die Variable bislang ausgewertet haben, um international kompatibel zu sein, in Zukunft zu faul sein werden und blind nach "C:\Program Files" installieren. Und wenn Du dann bei einer Installation den Speicherort dieses Ordners ändern möchtest, dann hast Du die ars***karte gezogen, denn die von Dir gesetzte Variable interessiert dann keinen mehr. Also darfst Du dann den entsprechenden Junction Point zu Deinem richtigen Ordner setzen... :)

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...