在 Powershell 中使用批处理式环境变量解释字符串

Interpret string with batch-style environment variables in Powershell

我有一个字符串,其中包含批处理式表示法 (%programdata%\App-V) 中的环境变量,我需要在 Powershell 中对其进行评估。 %ENV% 符号可以在 Powershell 中轻松计算吗? 我知道 Powershell 中环境变量的常用表示法是 $env:ProgramData,但该字符串是从另一个我无法更改的命令返回给我的。

背景资料: 一个 Powershell Cmdlet ((Get-AppvClientConfiguration -Name PackageInstallationRoot).Value) 奇怪地 returns 一个带有批处理式环境变量的字符串 (%programdata%\App-V).

您可以为此使用 [environment] 类型加速器:

[environment]::ExpandEnvironmentVariables('%programdata%\App-V')

returns C:\ProgramData\App-V