Umgebungsvariablen für die integrierten Bibliotheken von Windows?

Umgebungsvariablen für die integrierten Bibliotheken von Windows?

Definiert Windows 7 Umgebungsvariablen für bereits vorhandene Bibliotheken? Ich bin neugierig, weil ich diese häufig verwende, wenn ich einen Pfad in Öffnen/Speichern-Dialogen oder in der RunEingabeaufforderung eingebe. Um beispielsweise zum Firefox-Einstellungsverzeichnis des aktuellen Benutzers zu gelangen, gehen Sie wie folgt vor run:

%APPDATA%\Mozilla\Firefox

Es ist eine praktische Abkürzung und ich hatte gehofft, etwas Ähnliches für Bibliothekspfade zu finden. Zum Beispiel:

%LIBRARIES%\Music\
%MUSIC%\

Ich verstehe, dass Bibliotheken einen oder mehrere Ordner der obersten Ebene aggregieren, sodass es zu Mehrdeutigkeiten kommen kann. Microsoft hat eineListevon Umgebungsvariablen, aber die meisten sind nicht über die Windows-Benutzeroberfläche zugänglich.Diese FrageDocumentsenthält auch einen Link zu einer schönen Liste, schließt aber keine Ordner, MusicMappen usw. eines Benutzers ein.

Antwort1

Windows-Bibliotheken sind eigentlich nur xmlDateien, die definieren, wie eine Sammlung von Ordnern angezeigt wird. Sie werden mithilfe einer speziellen Shell-Erweiterung angezeigt, die in Windows integriert ist. Da es sich nicht um echte Ordner handelt, können Dateien und Unterordner nicht direkt über einen Pfad aufgerufen werden.

Mit einemoffenExplorer-Fenster können Sie in die Adressleiste eingeben:

libraries\music

Das machtnichtscheint über die File NameDialogbox „Öffnen/Speichern“ zu funktionieren. Mit dem runBefehl funktioniert es auch nicht.

Was Sie dagegen tun können:

Windows Vista führte die „Bekannte Ordner"-Konzept. Es ersetzt die ältere "konstante spezielle Artikel-ID-Liste" (CSIDL) Methodik, die in XP verwendet wird. Es gibt eineausgezeichneter Beitragim Windows-Blog; dort wird diese Änderung erläutert und ein Überblick über die *.library-msDateistruktur gegeben.

Bekannte Ordner haben GUIDs. Um über die Befehlszeile darauf zuzugreifen, stellen Sie Ihrer URI das Präfix voran knownfolder:. Es gibtDutzende definiertUm auf den Ordner des aktuellen Benutzers zuzugreifen Music, genügt beispielsweise runder folgende Befehl:

knownfolder:{4BD8D571-6D19-48D3-BE97-422220080E43}

Damit gelangen Sie zu den vordefiniertenStandardMusikordner. Wenn Sie also den Ordner der Bibliothek geändert haben, funktioniert dies leider nicht.

Der Standardordner einer Bibliothek kann seinaufgerufenprogrammgesteuert durch VerwendungIShellLibrarySchnittstelle, aber das geht über den Rahmen meiner ursprünglichen Frage hinaus. Es scheint, dass der beste Ansatz darin besteht, entweder:

  1. Umgebungsvariablen manuell ihrem bekannten Pfad zuordnen
  2. Oder ordnen Sie Umgebungsvariablen manuell über ihre GUID zu. Der Vorteil hierbei ist, dass Sie sie zu einer Systemvariable machen und sie für alle Benutzer funktionieren lässt.

Antwort2

Wenn Sie %music%auf Ihren Musikordner verweisen möchten, fügen Sie Ihrem System einfach eine neue Umgebungsvariable hinzu.

%Libraries%Wenn Sie auf Ihre Bibliotheken verweisen möchten c:\, erstellen Sie beispielsweise eine Verknüpfung auf und erstellen Sie dann eine neue Umgebungsvariable, die auf Ihre c:\librariesVerknüpfung verweist. (Der direkte Zugriff auf Unterordner funktioniert jedoch nicht, Sie können jedoch eine neue Variable für die in den Bibliotheken enthaltenen Ordner erstellen.)

%music%Sie können sie dann beide von run mit oder aufrufen .%Libraries%

verwandte Informationen