我想用C#porgrampipe理一些数据。 数据通常在桌面或类似的基本Windows位置。 现在我input特定文件夹的完整path,但是我知道有像%ProgramFiles(x86)%
, %appdata%
这样的快捷方式。
他们有更多吗? 我可以在我的程序中使用它们吗?
你可以,但是你可能更喜欢使用Environment.GetFolderPath
和Environment.SpecialFolder
枚举。 例如:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
在撰写本文时, Environment.SpecialFolder
枚举具有值:
Desktop, Programs, MyDocuments, Personal, Favorites, Startup, Recent, SendTo, StartMenu, MyMusic, MyVideos, DesktopDirectory, MyComputer, NetworkShortcuts, Fonts, Templates, CommonStartMenu, CommonPrograms, CommonStartup, CommonDesktopDirectory, ApplicationData, PrinterShortcuts, LocalApplicationData, InternetCache, Cookies, History, CommonApplicationData, Windows, System, ProgramFiles, MyPictures, UserProfile, SystemX86, ProgramFilesX86, CommonProgramFiles, CommonProgramFilesX86, CommonTemplates, CommonDocuments, CommonAdminTools, AdminTools, CommonMusic, CommonPictures, CommonVideos, Resources, LocalizedResources, CommonOemLinks, CDBurning
如果你需要使用这个信息来构建一些路径:
var somePath = System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), @"some\path\into\this\folder");
有很多系统变量。 是的,你可以在你的程序中使用它们。
仅举几例:
Environment Variable Path %ALLUSERSPROFILE% C:\ProgramData %APPDATA% C:\Users\{username}\AppData\Roaming %COMMONPROGRAMFILES% C:\Program Files\Common Files %COMMONPROGRAMFILES(x86)% C:\Program Files (x86)\Common Files %COMSPEC% C:\Windows\System32\cmd.exe %HOMEDRIVE% C: %HOMEPATH% C:\Users\{username} %LOCALAPPDATA% C:\Users\{username}\AppData\Local %PROGRAMDATA% C:\ProgramData %PROGRAMFILES% C:\Program Files %PROGRAMFILES(X86)% C:\Program Files (x86) (only in 64-bit version) %PUBLIC% C:\Users\Public %SystemDrive% C: %SystemRoot% C:\Windows %TEMP% and %TMP% C:\Users\{username}\AppData\Local\Temp %USERPROFILE% C:\Users\{username} %WINDIR% C:\Windows
这些是环境变量,你可以自己添加新的或者编辑它们。 以下是操作系统已经设置的一些默认设置。 要获取所有当前环境变量的列表,请打开命令提示符并输入SET
。 或者,以编程方式使用Environment.GetEnvironmentVariable() 。 所有这些都可以在你的应用程序中使用。
是的,还有更多,是的,你可以使用一个术语。 例如,Desktop文件夹是Environment.SpecialFolder.Desktop请看: https : //msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx