次の方法で共有


Environment.ExpandEnvironmentVariables メソッド

指定した文字列に埋め込まれている各環境変数の名前を、その変数の値を表す文字列で置換し、置換後の文字列全体を返します。

Public Shared Function ExpandEnvironmentVariables( _
   ByVal name As String _) As String
[C#]
public static string ExpandEnvironmentVariables(stringname);
[C++]
public: static String* ExpandEnvironmentVariables(String* name);
[JScript]
public static function ExpandEnvironmentVariables(
   name : String) : String;

パラメータ

  • name
    0 個以上の環境変数の名前を格納している文字列。各環境変数は、パーセント文字 (%) で囲まれます。

戻り値

各環境変数をその値で置換した文字列。

例外

例外の種類 条件
ArgumentNullException name が null 参照 (Visual Basic では Nothing) です。

解説

オペレーティング システムから環境変数を取得するために COM 相互運用を使用します。COM エラーのために環境変数を取得できない場合は、エラーの原因を説明する HRESULT を使用して、可能性がある例外のいずれかを生成します。つまり、例外は HRESULT に依存します。HRESULT の処理方法の詳細については、 Marshal.ThrowExceptionForHR メソッドの解説を参照してください。

置換操作は、設定されている環境変数に対してだけ行われます。たとえば、name が "MyENV = %MyENV%" だと想定します。環境変数 MyENV が 42 に設定されている場合、このメソッドは "MyENV = 42" を返します。MyENV が設定されていない場合は、置換は行われず、"MyENV = %MyENV%" が返されます。

Windows NT 4.0 以前、および Windows 2000 以降では、戻り値のサイズが 32 K に制限されています。Windows 98 と Windows Me では、サイズ制限はありません。

使用例

 
' Sample for the Environment.ExpandEnvironmentVariables method
Imports System

Class Sample
   Public Shared Sub Main()
      Dim str As [String]
      Dim nl As [String] = Environment.NewLine
      
      Console.WriteLine()
      '  <-- Keep this information secure! -->
      Dim query As [String] = "My system drive is %SystemDrive% and" & _ 
                              "my system root is %SystemRoot%"
      str = Environment.ExpandEnvironmentVariables(query)
      Console.WriteLine("ExpandEnvironmentVariables: {0}  {1}", nl, str)
   End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'
'ExpandEnvironmentVariables:
'  My system drive is C: and my system root is C:\WINNT
'

[C#] 
// Sample for the Environment.ExpandEnvironmentVariables method
using System;

class Sample 
{
    public static void Main() 
    {
    String str;
    String nl = Environment.NewLine;

    Console.WriteLine();
//  <-- 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);
    }
}
/*
This example produces the following results:

ExpandEnvironmentVariables:
  My system drive is C: and my system root is C:\WINNT
*/

[C++] 
// Sample for the Environment::ExpandEnvironmentVariables method
#using <mscorlib.dll>

using namespace System;

int main() {
   String* str;
   String*  nl = Environment::NewLine;

   Console::WriteLine();
   //  <-- Keep this information secure! -->
   String*  query = S"My system drive is %SystemDrive% and my system root is %SystemRoot%";
   str = Environment::ExpandEnvironmentVariables(query);
   Console::WriteLine(S"ExpandEnvironmentVariables: {0} {1}", nl, str);
}
/*
This example produces the following results:

ExpandEnvironmentVariables:
My system drive is C: and my system root is C:\WINNT
*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

Environment クラス | Environment メンバ | System 名前空間