簡體   English   中英

ac#中的環境變量

[英]environmental variable in a c#

我正在使用以下命令在ac#Console應用程序中為環境變量設置一個值。

 System.Environment.SetEnvironmentVariable(envvar, result,EnvironmentVariableTarget.Process);

在命令窗口中運行該應用程序后,當我嘗試回顯該變量時,看不到該值。 我必須在批處理文件中使用此應用程序。 我想要類似SET命令的功能。 請幫忙..

編輯:我嘗試使用System.Environment.SetEnvironmentVariable(envvar,result,EnvironmentVariableTarget.user)並傳播更改,我嘗試了此Env VAr中的傳播更改 但是我無法在同一命令窗口中回顯該變量。

讓我重新表述這個問題:我想在c#中為Env Var設置一個值。 我必須能夠在同一命令窗口中使用該變量(即,我不應該打開新的cmd窗口來查看更改)。 我們使用SET命令,我們可以立即使用該變量。 我想要這樣的功能。 請幫助

當您使用EnvironmentVariableTarget.Process時,變量集將僅在當前進程中可見,如您在此示例中看到的:

System.Environment.SetEnvironmentVariable("myVar", "myValue", EnvironmentVariableTarget.Process);
string s = System.Environment.GetEnvironmentVariable("myVar",EnvironmentVariableTarget.Process);

myVar上方將顯示s =“ myValue”,但在命令窗口中不可見。

如果要設置在命令窗口中可見的值,則需要使用EnvironmentVariableTarget.User:

System.Environment.SetEnvironmentVariable("myVar", "myValue", EnvironmentVariableTarget.User);

這樣,將存儲設置myVar = myValue,然后您可以在命令窗口中看到。

詳細樣本位於此處

為了查看當前批處理中的環境。 您必須在程序中將其輸出為字符串,然后解析它並在批處理文件中調用set。

或者,您可以嘗試EnvironmentVariableTarget.User。 使用此選項設置后,env將在所有新進程中可見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM