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 Run
Eingabeaufforderung 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 FrageDocuments
enthält auch einen Link zu einer schönen Liste, schließt aber keine Ordner, Music
Mappen usw. eines Benutzers ein.
Antwort1
Windows-Bibliotheken sind eigentlich nur xml
Dateien, 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 Name
Dialogbox „Öffnen/Speichern“ zu funktionieren. Mit dem run
Befehl 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-ms
Dateistruktur 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 run
der 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:
- Umgebungsvariablen manuell ihrem bekannten Pfad zuordnen
- 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:\libraries
Verknü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%