C#中如何获取系统环境变量

原文:C#中如何获取系统环境变量

C#中获取系统环境变量需要用到Environment Class。其中提供了有关当前环境和平台的信息以及操作它们的方法。该类不能被继承。

 

以下代码得到%systemdrive%的值,即“C:”

string sPath = Environment.GetEnvironmentVariable("systemdrive")

string sPath = Environment.GetEnvironmentVariable("systemdrive");
Console.WriteLine(sPath);

//C:

以下是MSDN上Environment Class的Sample code。

http://msdn.microsoft.com/en-us/library/system.environment.aspx
 

以下代码列出了当前系统的环境信息。

// Sample for Environment class summary
using System;
using System.Collections;

class Sample
{
    public static void Main()
    {
    String str;
    String nl = Environment.NewLine;
//
    Console.WriteLine();
    Console.WriteLine("-- Environment members --");

//  Invoke this sample with an arbitrary set of command line arguments.
    Console.WriteLine("CommandLine: {0}", Environment.CommandLine);

    String[] arguments = Environment.GetCommandLineArgs();
    Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments));

//  <-- Keep this information secure! -->
    Console.WriteLine("CurrentDirectory: {0}", Environment.CurrentDirectory);

    Console.WriteLine("ExitCode: {0}", Environment.ExitCode);

    Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted);

//  <-- Keep this information secure! -->
    Console.WriteLine("MachineName: {0}", Environment.MachineName);

    Console.WriteLine("NewLine: {0}  first line{0}  second line{0}  third line",
                          Environment.NewLine);

    Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString());

    Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);

//  <-- Keep this information secure! -->
    Console.WriteLine("SystemDirectory: {0}", Environment.SystemDirectory);

    Console.WriteLine("TickCount: {0}", Environment.TickCount);

//  <-- Keep this information secure! -->
    Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName);

    Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive);

//  <-- Keep this information secure! -->
    Console.WriteLine("UserName: {0}", Environment.UserName);

    Console.WriteLine("Version: {0}", Environment.Version.ToString());

    Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet);

//  No example for Exit(exitCode) because doing so would terminate this example.

//  <-- Keep this information secure! -->
    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);
        }

    Console.WriteLine("GetFolderPath: {0}",
                 Environment.GetFolderPath(Environment.SpecialFolder.System));

    String[] drives = Environment.GetLogicalDrives();
    Console.WriteLine("GetLogicalDrives: {0}", String.Join(", ", drives));
    }
}
/*
This example produces results similar to the following:
(Any result that is lengthy or reveals information that should remain
secure has been omitted and marked "!---OMITTED---!".)

C:\>env0 ARBITRARY TEXT

-- Environment members --
CommandLine: env0 ARBITRARY TEXT
GetCommandLineArgs: env0, ARBITRARY, TEXT
CurrentDirectory: C:\Documents and Settings\!---OMITTED---!
ExitCode: 0
HasShutdownStarted: False
MachineName: !---OMITTED---!
NewLine:
  first line
  second line
  third line
OSVersion: Microsoft Windows NT 5.1.2600.0
StackTrace: '   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.get_StackTrace()
   at Sample.Main()'
SystemDirectory: C:\WINNT\System32
TickCount: 17995355
UserDomainName: !---OMITTED---!
UserInteractive: True
UserName: !---OMITTED---!
Version: !---OMITTED---!
WorkingSet: 5038080
ExpandEnvironmentVariables:
  My system drive is C: and my system root is C:\WINNT
GetEnvironmentVariable:
  My temporary directory is C:\DOCUME~1\!---OMITTED---!\LOCALS~1\Temp.
GetEnvironmentVariables:
  !---OMITTED---!
GetFolderPath: C:\WINNT\System32
GetLogicalDrives: A:\, C:\, D:\

*/
时间: 2024-09-16 19:49:25

C#中如何获取系统环境变量的相关文章

PowerShell获取系统环境变量的方法_PowerShell

本文介绍在PowerShell中,如何获取环境变量的值.可以列出所有的环境变量,也可以指定通过变量名称来获取环境变量的值. 在开发过程中,经常需要用到环境变量(比如当前计算机名.登录的用户名.Path环境变量等),那么在PowerShell中如何知道有哪些环境变量呢?又该如何获取指定环境变量的值呢? PowerShell通过环境变量提供者(Environment Provider)让我们可以访问环境变量.默认情况下,PowerShell创建了一个驱动器(名称为env)来与Environment

详解Java获取环境变量及系统属性的方法_java

环境变量这个概念不陌生, 就是操作系统的环境变量. 系统变量就是java本身维护的变量. 通过 System.getProperty 的方式获取. 对于不同的操作系统来说, 环境变量的处理可能会有一些不统一的地方, 比如说: 不区分大小写 等等. Java 获取环境变量Java 获取环境变量的方式很简单: System.getEnv()  得到所有的环境变量 System.getEnv(key) 得到某个环境变量的值   Map map = System.getenv(); Iterator i

javascript 外部文件获取后台变量

Java Web中,js外部文件如何获取后台的变量呢? 项目使用spring MVC框架, IDE:eclipse: 使用maven构建 控制器(OsTypeController.Java)如下: Java代码   package com.ct.web.controller;      import java.util.Date;   import java.util.List;      import org.springframework.beans.factory.annotation.A

php获取系统变量方法小结_php技巧

本文实例讲述了php获取系统变量的方法.分享给大家供大家参考.具体如下: 这里通过一些php内置函数获得各种系统变量. $v = get_defined_vars();//返回由所有已定义变量所组成的数组 print_r($v); // get all defined objects $v = get_object_vars();//返回由对象属性组成的关联数组 print_r($v); // classic phpinfo();//输出关于 PHP 配置的信息 // php版本 (someth

iphone-如何在块中获取实体变量?

问题描述 如何在块中获取实体变量? 访问block中的实体变量.但是在block中得到EXC_BAC_ACCESS.工程里没用ARC. .h file@interface ViewController : UIViewController{ int age; // an instance variable}.m filetypedef void(^MyBlock) (void);MyBlock bb;@interface ViewController ()- (void)foo;@end@imp

SSIS中Sql Task 获取系统变量

原文:SSIS中Sql Task 获取系统变量 执行 SQL 任务使用不同的连接类型时,SQL 命令的语法使用不同的参数标记.例如,ADO.NET 连接管理器类型要求 SQL 命令使用格式为 @varParameter 的参数标记,而 OLE DB 连接类型要求使用问号 (?) 参数标记. 在变量与参数之间的映射中可以用作参数名的名称也因连接管理器类型而异.例如,ADO.NET 连接管理器类型使用带 @ 前缀的用户定义名称,而 OLE DB 连接管理器类型要求使用从 0 开始的序数数值作为参数名

spring 拦截方法中如何获取拦截器中变量的值

问题描述 spring 拦截方法中如何获取拦截器中变量的值 想在拦截方法中获取拦截器中变量的值,如何用代码实现?求指教.

visual studio-VS2013中添加头文件路径(系统环境变量)的问题

问题描述 VS2013中添加头文件路径(系统环境变量)的问题 我现在的头文件路径是D:/demo/abc/include 使用绝对路径就没问题 但是一旦使用了系统的环境变量就不行了求解~~~ 解决方案 系统环境变量,VS是不支持的,它有自定义的宏,你可以查看添加目录中,展开看看.当然你也可以在属性页中自己定义其他的宏,然后工程中引用 解决方案二: http://m.blog.csdn.net/blog/qweewqpkn/43485577 解决方案三: 对的,一般设置完环境变量,需要重新注销或者

如何定制Linux操作系统环境变量

Linux是一个多用户的操作系统.每个用户登录系统后,都会有一个专用的运行环境.通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义.用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量. 常见的环境变量 对于PATH和HOME等环境变量大家都不陌生.除此之外,还有下面一些常见环境变量. ◆ HISTSIZE是指保存历史命令记录的条数. ◆ LOGNAME是指当前用户的登录名. ◆ HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个