Windows 內建程式庫的環境變數?

Windows 內建程式庫的環境變數?

Windows 7 是否為預先存在的程式庫定義環境變數?我很好奇,因為我經常在「開啟/儲存」對話方塊中或從提示字元輸入路徑時使用這些Run。例如,要存取目前使用者的 Firefox 設定目錄,run

%APPDATA%\Mozilla\Firefox

這是一個方便的快捷方式,我希望找到類似的庫路徑。例如:

%LIBRARIES%\Music\
%MUSIC%\

據我所知,庫聚合了一個或多個頂級資料夾,因此可能存在歧義。微軟有一個清單環境變量,但大多數無法透過 Windows UI 存取。這個問題也連結到一個不錯的列表,但不包括用戶的Documents資料夾、Music資料夾等。

答案1

Windows 程式庫實際上只是xml定義如何顯示資料夾集合的檔案。它們使用 Windows 內建的特殊 shell 擴充功能來顯示。由於它們不是真正的資料夾,因此無法透過路徑直接存取檔案和子資料夾。

打開資源管理器視窗中,您可以在網址列中輸入:

libraries\music

這確實不是似乎可以在File Name開啟/儲存對話框中工作。它也不適用於該run命令。

您可以採取什麼措施:

Windows Vista 推出了“已知資料夾」概念。它取代了舊的「恆定特殊項目 ID 清單」(CSIDL) XP 中所使用的方法。有一個優秀的帖子在 Windows 部落格上;它討論了此更改並提供了文件結構的概述*.library-ms

已知資料夾具有 GUID。若要透過命令列存取它們,請在您的 URI 前面加上knownfolder:.有數十個定義Music例如,要存取目前使用者的資料夾,run請使用下列命令:

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

這將使您進入預先定義的預設音樂資料夾。因此,如果您更改了庫的資料夾,不幸​​的是這將不起作用。

庫的預設資料夾可以是訪問過以程式設計方式使用IShell函式庫接口,但這超出了我原來問題的範圍。看來最好的方法是:

  1. 手動將環境變數對應到其已知路徑
  2. 或使用 GUID 手動映射環境變數。這裡的優點是您可以將其設定為系統變數並使其適用於所有使用者)。

答案2

如果您想%music%指向音樂資料夾,那麼您只需在系統中新增一個新的環境變數。

例如,如果您想要%Libraries%指向您的庫,請在 上建立一個快捷方式,然後建立一個指向您的快捷方式的新環境變數。 (但是直接進入子資料夾是行不通的,但是您可以為庫中的資料夾建立新變數)c:\c:\libraries

%music%然後,您可以使用或從運行中呼叫它們%Libraries%

相關內容