2012-12-14 9 views
8

C#プログラムから環境変数を設定して、後で実行するバッチファイルでこの新しく作成された変数を使用する必要があります。実行後も持続するC#の環境変数の設定

C:\Users\Lenovo>SET USRNAM 

私が手に:私は、ブレークポイントの設定を持っており、それがこのブレークポイントに到達したときに、私は次のコマンドを発行し、コマンドプロンプトに行き、この文の後

Environment.SetEnvironmentVariable("USRNAM", "My Name", 
            EnvironmentVariableTarget.Process); 

:私が使って試してみました:

Environment variable USRNAM not defined. 

C#プログラムの実行が完了しても保持される環境変数を設定するにはどうすればよいですか?

提案をいただきありがとうございます。

+2

EnvironmentVariableTarget.Machineを使用してみましたか?私はかなり確信しています。プロセスは、実行中のプロセスのために一時的に設定します。 – TheEvilPenguin

答えて

10

変数を現在のユーザー用に作成するか、すべてのユーザー用に作成するかによって、EnvironmentVariableTarget.UserまたはEnvironmentVariableTarget.Machineのいずれかを使用してください。

その列挙情報についてはhereをご覧ください。

+0

私は両方を試みたが、コマンドウィンドウからチェックしたときに変数がSETリストになかった。応答していただきありがとうございます。 – user1902876

+0

ステートメントの実行後に新しいコマンドプロンプトを開く必要があることに注意してください。既存のプロンプトが新しい変数を参照できるとは思われません。 –

関連する問題