C#中如何获取系统文件及操作系统的环境变量等
C#中获取系统环境变量需要用到Environment 类。
其中提供了有关当前环境和平台的信息以及操作它们的方法。该类不能被继承
以下代码得到%systemdrive%的值,即“C:”
string sPath = Environment.GetEnvironmentVariable("systemdrive"); Console.WriteLine(sPath);
更多使用方法:
//--------------获取当前程序信息 //当前程序启动的命令,字符串 Console.WriteLine("CommandLine:{0}", Environment.CommandLine); string[] arguments = Environment.GetCommandLineArgs(); Console.WriteLine("GetCommandLineArgs:{0}", string.Join(", ", arguments)); //获取当前程序目录 Console.WriteLine("CurrentDirectory:{0}", Environment.CurrentDirectory); //获取当前程序,工作的物理内存大小 Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet); //退出码 Console.WriteLine("ExitCode:{0}", Environment.ExitCode); //获取当前程序是否开机启动 Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted); //获取当前跟踪信息 Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace); //获取换行符 Console.WriteLine("NewLine: {0} first line{0} second line{0} third line", Environment.NewLine); //--------------获取当前用户信息 //当前用户的域名称 Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName); //当前用户是否交互 Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive); //当前用户名称 Console.WriteLine("UserName: {0}", Environment.UserName); //--------------获取当前系统信息 //获取当前计算机名称 Console.WriteLine("MachineName: {0}", Environment.MachineName); //获取系统镜像等版本 Console.WriteLine("Version: {0}", Environment.Version.ToString()); //获取当前操作系统版本 Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString()); //获取当前系统目录 Console.WriteLine("GetFolderPath: {0}", Environment.GetFolderPath(Environment.SpecialFolder.System)); //获取当前计算机逻辑磁盘名称列表 String[] drives = Environment.GetLogicalDrives(); Console.WriteLine("GetLogicalDrives: {0}", String.Join(", ", drives)); //获取系统目录 String str; String nl = Environment.NewLine; String query = "My system drive is %SystemDrive% and my system root is %SystemRoot%"; str = Environment.ExpandEnvironmentVariables(query); Console.WriteLine("ExpandEnvironmentVariables: {0} {1}", nl, str); //获取系统临时文件夹 Console.WriteLine("GetEnvironmentVariable: {0} My temporary directory is {1}.", nl, Environment.GetEnvironmentVariable("TEMP")); //--------------遍历所有信息 Console.WriteLine("GetEnvironmentVariables: "); IDictionary environmentVariables = Environment.GetEnvironmentVariables(); foreach (DictionaryEntry de in environmentVariables) { Console.WriteLine(" {0} = {1}", de.Key, de.Value); }
作者: 王春天 出处: http://www.cnblogs.com/spring_wang/ Email: spring_best@yeah.net QQ交流:903639067
QQ群:322581894 关于作者: 大连天翼信息科技有限公司 技术总监。 SNF快速开发平台 创始人。应用平台架构师、IT规划咨询专家、业务流程设计专家。 专注于快速开发平台的开发、代码生成器。同时专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,精通DotNet系列技术Vue、.NetCore、MVC、Webapi、C#、WinForm等,DB(SqlServer、Oracle等)技术,移动端开发。熟悉Java、VB及PB开发语言。在面向对象、面向服务以及数据库领域有一定的造诣。现从事项目实施、开发、架构等工作。并从事用友软件产品U8、U9、PLM 客开工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。