如何在不使用环境枚举的情况下以编程方式解决环境variables?

可能重复:

展开“我的文档”的环境variables

我们经常在Windows XP,7,Vista,Server 2003-2008R2的命令提示符中使用%%分隔的环境variables,并可能在将来的Windows版本中使用。 例子是:

%windir% %systemroot% %temp%

我需要能够编程方式使用C#解决这些环境variables。

请不要build议Environmen.SpecialFolder ,因为我从上述格式的web服务获取值,我需要能够以编程方式解决它们,并确定这些path在服务器上的物理位置。 我的场景是一个类的libarary项目,我可能不需要/能够使用Server.MapPath

桌面程序在Win 7中运行,但不在Win 8中运行

Process.Kill()需要什么权限?

使用C#如何检测是否安装了Windows Installer 4.5

Mono应用程序在尝试更改控制台前景色时失败,并出现ArgumentNullException

如何检测两个文件是否在相同的“音量”?

我正在寻找内build或自定义的通用方法,可以帮助我在语法上parsing所有的环境variables,并从这些variables计算本地物理path只是命令提示符或Windows资源pipe理器或运行命令!

我在StackOverFlow上看到类似的问题,但找不到任何明显的答案。 请注意, Environment.Xxxxx Enum不适合我正在工作的场景。

任何帮助表示赞赏。 我正在使用.NET 4.0完整的框架configuration文件与C#。

防止用户通过系统热键退出Windows应用程序

如何为Windows上的任务栏创build工具栏?

如果我对Windows服务进行了更改,是否必须运行installutil.exe?

一个.NET的Windows应用程序可以压缩成一个单一的。

Linux上的Nuget&dotnet – 使用/打包提供的软件包

您可以使用System.IO.Path.GetFullPath 。 例如:

var resolvedpath = Path.GetFullPath("%WINDIR%");

或者,如果您只想扩展字符串中的变量,请使用Environment.ExpandEnvironmentvariables :

var expanded = ExpandEnvironmentvariables( "This is my %WINDIR% in %sYstemROOT%,and temp is %TEMP%")

Environment.ExpandEnvironmentvariables("%windir%someFolder")

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....