Environment.SetEnvironmentVariable Yöntem

Tanım

Ortam değişkenlerini oluşturur, değiştirir veya siler.

Aşırı Yüklemeler

SetEnvironmentVariable(String, String)

Geçerli işlemde depolanan bir ortam değişkenini oluşturur, değiştirir veya siler.

SetEnvironmentVariable(String, String, EnvironmentVariableTarget)

Geçerli işlemde veya geçerli kullanıcı veya yerel makine için ayrılmış Windows işletim sistemi kayıt defteri anahtarında depolanan bir ortam değişkenini oluşturur, değiştirir veya siler.

SetEnvironmentVariable(String, String)

Kaynak:
Environment.cs
Kaynak:
Environment.cs
Kaynak:
Environment.cs

Geçerli işlemde depolanan bir ortam değişkenini oluşturur, değiştirir veya siler.

public:
 static void SetEnvironmentVariable(System::String ^ variable, System::String ^ value);
public static void SetEnvironmentVariable (string variable, string value);
public static void SetEnvironmentVariable (string variable, string? value);
static member SetEnvironmentVariable : string * string -> unit
Public Shared Sub SetEnvironmentVariable (variable As String, value As String)

Parametreler

variable
String

Ortam değişkeninin adı.

value
String

öğesine atanacak variabledeğer.

Özel durumlar

variable, null değeridir.

variable sıfır uzunluklu bir dize, ilk onaltılık sıfır karakteri (0x00) veya eşittir işareti ("=") içerir.

-veya-

veya value uzunluğu variable 32.767 karakterden büyük veya buna eşittir.

-veya-

Bu işlem yürütülürken hata oluştu.

Çağrı yapanın bu işlemi gerçekleştirmek için gerekli izni yok.

Örnekler

Aşağıdaki örnek, işlem ortamı bloğundan adlı Test1 bir ortam değişkeninin değerini almayı dener. Değişken yoksa, örnek değişkeni oluşturur ve değerini alır. Örnekte değişkenin değeri görüntülenir. Windows sistemlerinde çalışan .NET uygulamaları için, değişkenin GetEnvironmentVariables(EnvironmentVariableTarget)EnvironmentVariableTarget yalnızca geçerli işlem ortamı bloğundan alınabileceğini kurmak için numaralandırmanın her üyesiyle yöntemini de çağırır. (Unix benzeri sistemlerdeki.NET uygulamaları yalnızca işlem ortamı bloğundaki değişkenleri destekler.) Son olarak, örnek değişkeni oluşturduysa, değişkeni siler.

using System;

public class Example
{
   public static void Main()
   {
      string value;
      bool toDelete = false;

      // Check whether the environment variable exists.
      value = Environment.GetEnvironmentVariable("Test1");
      // If necessary, create it.
      if (value == null)
      {
         Environment.SetEnvironmentVariable("Test1", "Value1");
         toDelete = true;

         // Now retrieve it.
         value = Environment.GetEnvironmentVariable("Test1");
      }
      // Display the value.
      Console.WriteLine($"Test1: {value}\n");

      // Confirm that the value can only be retrieved from the process
      // environment block if running on a Windows system.
      if (Environment.OSVersion.Platform == PlatformID.Win32NT)
      {
         Console.WriteLine("Attempting to retrieve Test1 from:");
         foreach (EnvironmentVariableTarget enumValue in
                           Enum.GetValues(typeof(EnvironmentVariableTarget))) {
            value = Environment.GetEnvironmentVariable("Test1", enumValue);
            Console.WriteLine($"   {enumValue}: {(value != null ? "found" : "not found")}");
         }
         Console.WriteLine();
      }

      // If we've created it, now delete it.
      if (toDelete) {
         Environment.SetEnvironmentVariable("Test1", null);
         // Confirm the deletion.
         if (Environment.GetEnvironmentVariable("Test1") == null)
            Console.WriteLine("Test1 has been deleted.");
      }
   }
}
// The example displays the following output if run on a Windows system:
//      Test1: Value1
//
//      Attempting to retrieve Test1 from:
//         Process: found
//         User: not found
//         Machine: not found
//
//      Test1 has been deleted.
//
// The example displays the following output if run on a Unix-based system:
//      Test1: Value1
//
//      Test1 has been deleted.
module Example

open System

let mutable toDelete = false

// Check whether the environment variable exists.
let value = 
    let v = Environment.GetEnvironmentVariable "Test1"
    // If necessary, create it.
    if isNull v then
        Environment.SetEnvironmentVariable("Test1", "Value1")
        toDelete <- true
        Environment.GetEnvironmentVariable "Test1"
    else 
        v

// Display the value.
printfn $"Test1: {value}\n"

// Confirm that the value can only be retrieved from the process
// environment block if running on a Windows system.
if Environment.OSVersion.Platform = PlatformID.Win32NT then
    printfn "Attempting to retrieve Test1 from:"
    for enumValue in Enum.GetValues typeof<EnvironmentVariableTarget> do
        let value = Environment.GetEnvironmentVariable("Test1", enumValue :?> EnvironmentVariableTarget)
        printfn $"""   {enumValue}: {if value <> null then "found" else "not found"}"""
    printfn ""

// If we've created it, now delete it.
if toDelete then
    Environment.SetEnvironmentVariable("Test1", null)
    // Confirm the deletion.
    if Environment.GetEnvironmentVariable "Test1" |> isNull then
        printfn "Test1 has been deleted."
// The example displays the following output if run on a Windows system:
//      Test1: Value1
//
//      Attempting to retrieve Test1 from:
//         Process: found
//         User: not found
//         Machine: not found
//
//      Test1 has been deleted.
//
// The example displays the following output if run on a Unix-based system:
//      Test1: Value1
//
//      Test1 has been deleted.
Module Example
   Public Sub Main()
      Dim value As String 
      Dim toDelete As Boolean = False
      
      ' Check whether the environment variable exists.
      value = Environment.GetEnvironmentVariable("Test1")
      ' If necessary, create it.
      If value Is Nothing Then
         Environment.SetEnvironmentVariable("Test1", "Value1")
         toDelete = True
         
         ' Now retrieve it.
         value = Environment.GetEnvironmentVariable("Test1")
      End If
      ' Display the value.
      Console.WriteLine($"Test1: {value}")
      Console.WriteLine()
      
      ' Confirm that the value can only be retrieved from the process
      ' environment block if running on a Windows system.
      If Environment.OSVersion.Platform = PlatformID.Win32NT Then
         Console.WriteLine("Attempting to retrieve Test1 from:")
         For Each enumValue As EnvironmentVariableTarget In 
                           [Enum].GetValues(GetType(EnvironmentVariableTarget))
            value = Environment.GetEnvironmentVariable("Test1", enumValue)
            Console.WriteLine($"   {enumValue}: {If(value IsNot Nothing, "found", "not found")}")
         Next
         Console.WriteLine()
      End If

      ' If we've created it, now delete it.
      If toDelete Then 
         Environment.SetEnvironmentVariable("Test1", Nothing)
         ' Confirm the deletion.
         If Environment.GetEnvironmentVariable("Test1") = Nothing Then
            Console.WriteLine("Test1 has been deleted.")
         End If
      End If         
   End Sub
End Module
' The example displays the following output if run on a Windows system:
'      Test1: Value1
'
'      Attempting to retrieve Test1 from:
'         Process: found
'         User: not found
'         Machine: not found
'
'      Test1 has been deleted.
'
' The example displays the following output if run on a Unix-based system:
'      Test1: Value1
'
'      Test1 has been deleted.

Açıklamalar

Bu yöntemi çağırmak, bağımsız değişken için değeriyle EnvironmentVariableTarget.Process aşırı yüklemeyi çağırmaya SetEnvironmentVariable(String, String, EnvironmentVariableTarget)target eşdeğerdir.

Unix benzeri sistemlerde yöntemine yapılan SetEnvironmentVariable(String, String) çağrıların yüklenen veya yüklenecek yerel kitaplıklar üzerinde hiçbir etkisi yoktur. (Buna karşılık, yerel kitaplıklar tarafından yapılan işlem içi ortam değişiklikleri yönetilen arayanlar tarafından görülmez.)

value Bağımsız değişken boş değilse (boş bir değerin tanımı için bu bölümün ilerleyen bölümlerinde yer alan ortam değişkenini silme konusuna bakın) ve parametresi tarafından variable adlandırılan ortam değişkeni yoksa, ortam değişkeni oluşturulur ve içeriğine valueatanır. Varsa, değeri değiştirilir. Ortam değişkeni yalnızca geçerli işlemin ortam bloğunda tanımlandığından, işlem sona erdikten sonra kalıcı olmaz.

variable İlk onaltılık olmayan bir sıfır karakteri içeriyorsa, sıfır karakterinden önceki karakterler ortam değişkeni adı olarak kabul edilir ve izleyen tüm karakterler yoksayılır.

İlk onaltılık olmayan bir sıfır karakteri içeriyorsa value , sıfır karakterden önceki karakterler ortam değişkenine atanır ve izleyen tüm karakterler yoksayılır.

boşsa value ve tarafından variable adlı ortam değişkeni varsa, ortam değişkeni silinir. Yoksa variable , işlem gerçekleştirilemese bile hata oluşmaz. value aşağıdaki koşullardan herhangi biri altında boş olarak kabul edilir:

  • Bu.null
  • Bu.String.Empty
  • Değeri U+0000 olan tek bir karakterden oluşur.

Ayrıca bkz.

Şunlara uygulanır

SetEnvironmentVariable(String, String, EnvironmentVariableTarget)

Kaynak:
Environment.cs
Kaynak:
Environment.cs
Kaynak:
Environment.cs

Geçerli işlemde veya geçerli kullanıcı veya yerel makine için ayrılmış Windows işletim sistemi kayıt defteri anahtarında depolanan bir ortam değişkenini oluşturur, değiştirir veya siler.

public:
 static void SetEnvironmentVariable(System::String ^ variable, System::String ^ value, EnvironmentVariableTarget target);
public static void SetEnvironmentVariable (string variable, string? value, EnvironmentVariableTarget target);
public static void SetEnvironmentVariable (string variable, string value, EnvironmentVariableTarget target);
static member SetEnvironmentVariable : string * string * EnvironmentVariableTarget -> unit
Public Shared Sub SetEnvironmentVariable (variable As String, value As String, target As EnvironmentVariableTarget)

Parametreler

variable
String

Ortam değişkeninin adı.

value
String

öğesine atanacak variabledeğer.

target
EnvironmentVariableTarget

Ortam değişkeninin konumunu belirten numaralandırma değerlerinden biri.

Özel durumlar

variable, null değeridir.

variable sıfır uzunluklu bir dize, ilk onaltılık sıfır karakteri (0x00) veya eşittir işareti ("=") içerir.

-veya-

uzunluğu variable 32.767 karakterden büyük veya buna eşittir.

-veya-

target sabit listesi üyesi EnvironmentVariableTarget değil.

-veya-

targetveya Userşeklindedir Machine ve uzunluğu variable 255'ten büyük veya buna eşittir.

-veya-

target ve Process uzunluğu value 32.767 karakterden büyük veya buna eşittir.

-veya-

Bu işlem yürütülürken hata oluştu.

Çağrı yapanın bu işlemi gerçekleştirmek için gerekli izni yok.

Örnekler

Aşağıdaki örnek , EnvironmentVariableTarget.Userve hedefleri için EnvironmentVariableTarget.Processortam değişkenleri oluşturur, işletim sistemi kayıt defterinin kullanıcı ve Machine makine ortamı değişkenlerini içerip içermediğini denetler, ardından ortam değişkenlerini siler. Unix benzeri sistemlerde .NET kullanıcı başına ve makine başına ortam değişkenlerini desteklemediğinden, yalnızca SetEnvironmentVariable(String, String) ve SetEnvironmentVariable(String, String, EnvironmentVariableTarget) değerine sahip bir ortam değişkenini EnvironmentVariableTarget.Process işlem ortamı bloğuna başarıyla depolar.

using System;
using System.Collections;
using Microsoft.Win32;

class Sample
{
    public static void Main()
    {
        // Environment variable names for default, process, user, and machine targets.
        string defaultEnvVar = nameof(defaultEnvVar);
        string processEnvVar = nameof(processEnvVar);
        string userEnvVar = nameof(userEnvVar);
        string machineEnvVar = nameof(machineEnvVar);

        string dft = nameof(dft);
        string process = nameof(process);
        string user = nameof(user);
        string machine = nameof(machine);

        // Set the environment variable for each target.
        Console.WriteLine("Setting environment variables for each target...\n");
        // The default target (the current process).
        Environment.SetEnvironmentVariable(defaultEnvVar, dft);
        // The current process.
        Environment.SetEnvironmentVariable(processEnvVar, process,
                                           EnvironmentVariableTarget.Process);
        // The current user.
        Environment.SetEnvironmentVariable(userEnvVar, user,
                                           EnvironmentVariableTarget.User);
        // The local machine.
        Environment.SetEnvironmentVariable(machineEnvVar, machine,
                                           EnvironmentVariableTarget.Machine);

        // Define an array of environment variables.
        string[] envVars = { defaultEnvVar,processEnvVar, userEnvVar, machineEnvVar };

        // Try to get the environment variables from each target.
        // The default (no specified target).
        Console.WriteLine("Retrieving environment variables from the default target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }
        // The process block.
        Console.WriteLine("\nRetrieving environment variables from the Process target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Process) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }
        // The user block.
        Console.WriteLine("\nRetrieving environment variables from the User target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.User) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }
        // The machine block.
        Console.WriteLine("\nRetrieving environment variables from the Machine target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Machine) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }

        // Delete the environment variable for each target.
        Console.WriteLine("\nDeleting environment variables for each target...\n");
        // The default target (the current process).
        Environment.SetEnvironmentVariable(defaultEnvVar, null);
        // The current process.
        Environment.SetEnvironmentVariable(processEnvVar, null,
                                           EnvironmentVariableTarget.Process);
        // The current user.
        Environment.SetEnvironmentVariable(userEnvVar, null,
                                           EnvironmentVariableTarget.User);
        // The local machine.
        Environment.SetEnvironmentVariable(machineEnvVar, null,
                                           EnvironmentVariableTarget.Machine);
    }
}
// The example displays the following output if run on a Windows system:
//      Setting environment variables for each target...
//
//      Retrieving environment variables from the default target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Process target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the User target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Machine target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: machine
//
//      Deleting environment variables for each target...
//
// The example displays the following output if run on a Unix-based system:
//
//      Setting environment variables for each target...
//
//      Retrieving environment variables from the default target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Process target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the User target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Machine target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Deleting environment variables for each target...
module Sample

open System

// Environment variable names for default, process, user, and machine targets.
let rec defaultEnvVar = nameof defaultEnvVar
let rec processEnvVar = nameof processEnvVar
let rec userEnvVar = nameof userEnvVar
let rec machineEnvVar = nameof machineEnvVar

let rec dft = nameof dft
let rec proc = nameof proc
let rec user = nameof user
let rec machine = nameof machine

// Set the environment variable for each target.
printfn "Setting environment variables for each target...\n"
// The default target (the current process).
Environment.SetEnvironmentVariable(defaultEnvVar, dft)
// The current process.
Environment.SetEnvironmentVariable(processEnvVar, proc, EnvironmentVariableTarget.Process)
// The current user.
Environment.SetEnvironmentVariable(userEnvVar, user, EnvironmentVariableTarget.User)
// The local machine.
Environment.SetEnvironmentVariable(machineEnvVar, machine, EnvironmentVariableTarget.Machine)

// Define a list of environment variables.
let envVars = [ defaultEnvVar; processEnvVar; userEnvVar; machineEnvVar ]

// Try to get the environment variables from each target.
// The default (no specified target).
printfn "Retrieving environment variables from the default target:"
for envVar in envVars do
    let value = 
        match Environment.GetEnvironmentVariable envVar with
        | null -> "(none)"
        | v -> v
    printfn $"   {envVar}: {value}"

// The process block.
printfn "\nRetrieving environment variables from the Process target:"
for envVar in envVars do
    let value = 
        match Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Process) with
        | null -> "(none)"
        | v -> v
    printfn $"   {envVar}: {value}"

// The user block.
printfn "\nRetrieving environment variables from the User target:"
for envVar in envVars do
    let value = 
        match Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.User) with
        | null -> "(none)"
        | v -> v
    printfn $"   {envVar}: {value}"

// The machine block.
printfn "\nRetrieving environment variables from the Machine target:"
for envVar in envVars do
    let value = 
        match Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Machine) with
        | null -> "(none)"
        | v -> v
    printfn $"   {envVar}: {value}"

// Delete the environment variable for each target.
printfn "\nDeleting environment variables for each target...\n"
// The default target (the current process).
Environment.SetEnvironmentVariable(defaultEnvVar, null)
// The current process.
Environment.SetEnvironmentVariable(processEnvVar, null, EnvironmentVariableTarget.Process)
// The current user.
Environment.SetEnvironmentVariable(userEnvVar, null, EnvironmentVariableTarget.User)
// The local machine.
Environment.SetEnvironmentVariable(machineEnvVar, null, EnvironmentVariableTarget.Machine)

// The example displays the following output if run on a Windows system:
//      Setting environment variables for each target...
//
//      Retrieving environment variables from the default target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Process target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the User target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Machine target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: machine
//
//      Deleting environment variables for each target...
//
// The example displays the following output if run on a Unix-based system:
//
//      Setting environment variables for each target...
//
//      Retrieving environment variables from the default target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Process target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the User target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Machine target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Deleting environment variables for each target...
Imports System.Collections
Imports Microsoft.Win32

Module Sample 
    Public Sub Main() 
        ' Environment variable names for default, process, user, and machine targets.
        Dim defaultEnvVar As String = NameOf(defaultEnvVar)
        Dim processEnvVar As String = NameOf(processEnvVar)
        Dim userEnvVar As String = NameOf(userEnvVar)
        Dim machineEnvVar As String = NameOf(machineEnvVar)

        Dim dft As String = NameOf(dft)
        Dim process As String = NameOf(process)
        Dim user As String = NameOf(user)
        Dim machine As String = NameOf(machine)

        ' Set the environment variable for each target.
        Console.WriteLine("Setting environment variables for each target...")
        ' The default target (the current process).
        Environment.SetEnvironmentVariable(defaultEnvVar, dft)
        ' The current process.
        Environment.SetEnvironmentVariable(processEnvVar, process, 
                                           EnvironmentVariableTarget.Process)
        ' The current user.
        Environment.SetEnvironmentVariable(userEnvVar, user, 
                                           EnvironmentVariableTarget.User)
        ' The local machine.
        Environment.SetEnvironmentVariable(machineEnvVar, machine, 
                                           EnvironmentVariableTarget.Machine)
        Console.WriteLine()

        ' Define an array of environment variables.
        Dim envVars As String() = { defaultEnvVar, processEnvVar, userEnvVar, machineEnvVar }
        
        ' Try to get the environment variables from each target.
        ' The default (no specified target).
        Console.WriteLine("Retrieving environment variables from the default target:")
        For Each envVar in envVars
          Dim value = Environment.GetEnvironmentVariable(envVar)
          Console.WriteLine($"   {envVar}: {If(value IsNot Nothing, value, "(none)")}")
        Next
        Console.WriteLine()
        ' The process block.
        Console.WriteLine("Retrieving environment variables from the Process target:")
        For Each envVar in envVars
          Dim value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Process)
          Console.WriteLine($"   {envVar}: {If(value IsNot Nothing, value, "(none)")}")
        Next
        Console.WriteLine()
        ' The user block.
        Console.WriteLine("Retrieving environment variables from the User target:")
        For Each envVar in envVars
          Dim value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.User)
          Console.WriteLine($"   {envVar}: {value}")
        Next
        Console.WriteLine()
        ' The machine block.
        Console.WriteLine("Retrieving environment variables from the Machine target:")
        For Each envVar in envVars
          Dim value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Machine)
          Console.WriteLine($"   {envVar}: {value}")
        Next
        Console.WriteLine()

        ' Delete the environment variable for each target.
        Console.WriteLine("Deleting environment variables for each target...")
        ' The default target (the current process).
        Environment.SetEnvironmentVariable(defaultEnvVar, Nothing)
        ' The current process.
        Environment.SetEnvironmentVariable(processEnvVar, Nothing, 
                                           EnvironmentVariableTarget.Process)
        ' The current user.
        Environment.SetEnvironmentVariable(userEnvVar, Nothing, 
                                           EnvironmentVariableTarget.User)
        ' The local machine.
        Environment.SetEnvironmentVariable(machineEnvVar, Nothing, 
                                           EnvironmentVariableTarget.Machine)
    End Sub
End Module
' The example displays the following output if run on a Windows system:
'      Setting environment variables for each target...
'
'      Retrieving environment variables from the default target:
'        defaultEnvVar: dft
'        processEnvVar: process
'        userEnvVar: user
'        machineEnvVar: (none)
'
'      Retrieving environment variables from the Process target:
'        defaultEnvVar: dft
'        processEnvVar: process
'        userEnvVar: user
'        machineEnvVar: (none)
'
'      Retrieving environment variables from the User target:
'        defaultEnvVar: (none)
'        processEnvVar: (none)
'        userEnvVar: user
'        machineEnvVar: (none)
'
'      Retrieving environment variables from the Machine target:
'        defaultEnvVar: (none)
'        processEnvVar: (none)
'        userEnvVar: (none)
'        machineEnvVar: machine
'
'      Deleting environment variables for each target...
'
' The example displays the following output if run on a Unix-based system:
'
'      Setting environment variables for each target...
'
'      Retrieving environment variables from the default target:
'        defaultEnvVar: dft
'        processEnvVar: process
'        userEnvVar: (none)
'        machineEnvVar: (none)
'
'      Retrieving environment variables from the Process target:
'        defaultEnvVar: dft
'        processEnvVar: process
'        userEnvVar: (none)
'        machineEnvVar: (none)
'
'      Retrieving environment variables from the User target:
'        defaultEnvVar: (none)
'        processEnvVar: (none)
'        userEnvVar: (none)
'        machineEnvVar: (none)
'
'      Retrieving environment variables from the Machine target:
'        defaultEnvVar: (none)
'        processEnvVar: (none)
'        userEnvVar: (none)
'        machineEnvVar: (none)
'
'      Deleting environment variables for each target...

Açıklamalar

yöntemi, SetEnvironmentVariable(String, String, EnvironmentVariableTarget) geçerli işlem ( Process değer) için kullanılabilen bir ortam değişkeni tanımlamanızı sağlar. Geçerli işlem ortamı bloğuna özgü ortam değişkenleri yalnızca işlem sona erene kadar kalır.

Buna ek olarak, yalnızca Windows sistemlerinde yöntemi, SetEnvironmentVariable(String, String, EnvironmentVariableTarget) bir makinede çalışan tüm işlemler (değer) ve bir kullanıcı EnvironmentVariableTarget.User tarafından çalıştırılan tüm işlemler (EnvironmentVariableTarget.Machinedeğer) için kullanılabilen bir ortam değişkeni tanımlamanıza olanak tanır. Makine başına ve kullanıcı başına ortam değişkenleri geçerli işlemin ortam bloğuna kopyalanır.

Unix benzeri sistemlerde veya değerine EnvironmentVariableTarget.MachineEnvironmentVariableTarget.User sahip yöntemine SetEnvironmentVariable(String, String, EnvironmentVariableTarget) çağrılar yoksayılır.

Unix benzeri sistemlerde, değerine EnvironmentVariableTarget.Process sahip yöntemine SetEnvironmentVariable(String, String, EnvironmentVariableTarget) yapılan çağrıların yüklenen veya yüklenecek yerel kitaplıklar üzerinde hiçbir etkisi yoktur. (Buna karşılık, yerel kitaplıklar tarafından yapılan işlem içi ortam değişiklikleri yönetilen arayanlar tarafından görülmez.)

value Bağımsız değişken boş değilse (boş bir değerin tanımı için bu bölümün devamında bir ortam değişkeni silme konusuna bakın) ve bağımsız değişkeni tarafından variable adlandırılan ortam değişkeni yoksa, ortam değişkeni oluşturulur ve içeriğine valueatanır. Varsa, değeri değiştirilir.

variable İlk onaltılık olmayan bir sıfır karakteri içeriyorsa, sıfır karakterinden önceki karakterler ortam değişkeni adı olarak kabul edilir ve izleyen tüm karakterler yoksayılır.

İlk onaltılık olmayan bir sıfır karakteri içeriyorsa value , sıfır karakterden önceki karakterler ortam değişkenine atanır ve izleyen tüm karakterler yoksayılır.

boşsa value ve tarafından variable adlı ortam değişkeni varsa, ortam değişkeni silinir. value aşağıdaki koşullardan herhangi biri altında boş olarak kabul edilir:

  • Bu.null
  • Bu.String.Empty
  • Değeri U+0000 olan tek bir karakterden oluşur.

Yoksa variable , işlem gerçekleştirilemese de hata oluşmaz. olduğunda targetMachinedikkatli olun, çünkü yalnızca geçerli işlemi veya kullanıcıyı değil, yerel makinenizin tamamını etkileyen bir ortam değişkenini yanlışlıkla silebilirsiniz.

EnvironmentVariableTarget.Machine ve EnvironmentVariableTarget.User on Windows sistemleri

ise targetEnvironmentVariableTarget.User, ortam değişkeni yerel bilgisayarın kayıt defterinin HKEY_CURRENT_USER\Environment anahtarında depolanır. Ayrıca geçerli kullanıcı olarak çalışan Dosya Gezgini örneklerine de kopyalanır. Ortam değişkeni daha sonra kullanıcının Dosya Gezgini'dan başlattığı tüm yeni işlemler tarafından devralınır.

Benzer şekilde, ise targetEnvironmentVariableTarget.Machineortam değişkeni yerel bilgisayarın kayıt defterinin HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment anahtarında depolanır. Ayrıca tüm Dosya Gezgini örneklerine de kopyalanır. Ortam değişkeni daha sonra Dosya Gezgini'dan başlatılan tüm yeni işlemler tarafından devralınır.

veya Machineise Usertarget, diğer uygulamalara ayarlama işlemi bir Windows WM_SETTINGCHANGE iletisiyle bildirilir.

veya EnvironmentVariableTarget.Machineise EnvironmentVariableTarget.Usertarget, uzunluğun value 2048 karakterden kısa olmasını öneririz.

Ayrıca bkz.

Şunlara uygulanır