簡體   English   中英

Windows XP和Vista +中%ALLUSERSPROFILE%的差異

[英]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應用程序:

使用Environment.SpecialFolder

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM