[英]Differences in %ALLUSERSPROFILE% in Windows XP and Vista+
Windows中是否有一個環境變量指示文件夾,該文件夾存儲所有用戶共享的應用程序數據?
在Windows Vista和更高版本中,這是%ALLUSERSPROFILE%
(通常映射到C:/ProgramData
)。 但是,在Windows XP中, %ALLUSERSPROFILE%
映射到C:\\Documents and Settings\\All Users
,我仍然需要添加類似\\Program Data\\
才能到達相同的位置。
我不知道批處理文件的好解決方案,但是我可以解釋一下歷史。
在Windows 2000 / XP / 2003上, %ALLUSERSPROFILE%
的名稱恰好是all-users / shared / common配置文件目錄的根。 通常為“ C:\\ Documents and Settings \\ All Users”。
Windows Shell具有一個名為CSIDL_COMMON_APPDATA的特殊文件夾常量,通常可以解析為“ C:\\ Documents and Settings \\ All Users \\ Application Data”,但是不幸的是,這些系統上沒有為此路徑設置任何環境變量。
在Windows Vista和更高版本的文檔中,音樂和視頻文件夾%ALLUSERSPROFILE%
文件夾移出,並放置在名為Public(“ c:\\ Users \\ Public”)的新文件夾中,並且可以通過%PUBLIC%
找到。 CSIDL_COMMON_APPDATA還獲得了一個名為%ProgramData%
的環境變量,並且由於其他大多數文件夾已移至%PUBLIC%
,因此確定%ALLUSERSPROFILE%
不需要Application Data子文件夾,因此%ProgramData%
與%ALLUSERSPROFILE%
相同。
如果要編寫批處理文件:
我的建議是,如果%ProgramData%
存在,請使用它,否則,請使用%ALLUSERSPROFILE%\\Application Data
。 我不知道Application Data文件夾在Windows的本地化版本中是否具有其他名稱...
如果要編寫C / C ++應用程序:
使用SHGetFolderPath 。
如果您正在編寫.NET應用程序:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.