You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中拼接变量名获取变量值报错问题求助

PowerShell动态获取拼接名称变量值的问题解决

嘿,我知道你为啥报错啦!问题出在你给Get-Variable传的变量名里多了个$符号~

先看你原来的代码:

$GV_R32_var = "testtesttest"
$m = "R32"
(Get-Variable -Name "`$GV_$($m)_var").Value

这里你把变量名写成了$GV_R32_var,但PowerShell里变量的实际名称是不带开头$的,你要找的变量真实名称是GV_R32_var,所以系统自然找不到你写的那个带$的名称,就抛出了找不到变量的错误。

正确的写法有两种:

  1. 去掉开头转义的$,保留拼接逻辑:
$GV_R32_var = "testtesttest"
$m = "R32"
(Get-Variable -Name "GV_$($m)_var").Value

执行这个就能直接拿到testtesttest啦。

  1. 用更简洁的写法,加上-ValueOnly参数直接返回值:
$GV_R32_var = "testtesttest"
$m = "R32"
Get-Variable "GV_$m_var" -ValueOnly

这个写法省去了后面的.Value,代码更清爽。

本质上就是记住:Get-Variable需要的是变量的名称字符串,不是带$的变量引用,所以别多写那个开头的$就好啦~

内容的提问来源于stack exchange,提问作者Danijel de Vasco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:48:12