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

PowerShell如何通过动态拼接变量名获取对应变量的实际值

问题解决方法

你要实现从动态变量名获取变量值,有两种直接的实现方式:

方案1:直接复用你已经生成的$variables数组(更推荐)

你在遍历生成row$i变量的时候,已经把所有行的键值对存到了$variables数组里,只需要根据用户输入的行号直接取值即可,比调用独立变量更安全高效:

$LineaScelta = Read-Host
# 直接从数组中取值,注意要转成整型匹配数组索引
$IP = $variables[[int]$LineaScelta].Value

方案2:使用Get-Variable cmdlet获取动态变量的值

如果你要直接读取你创建的row$i独立变量的实际值,用Get-Variable命令指定变量名获取对象,再取Value属性即可:

$LineaScelta = Read-Host
$rownumber = "row" + $LineaScelta
# 获取对应变量的实际值,加-ErrorAction避免输入无效行号时报错
$IP = (Get-Variable -Name $rownumber -ErrorAction SilentlyContinue).Value

额外优化说明

  • 你当前的脚本里完全不需要单独创建row$i、linea$ii这类独立变量,直接用$variables、$variables2数组存值完全可以满足需求,还能减少全局变量污染,后续维护也更简单。
  • 如果需要配置第二个DNS,只需要把Set-DnsClientServerAddress的-ServerAddresses参数换成数组即可,示例:
# 多个DNS地址用逗号分隔即可
$adapter | Set-DnsClientServerAddress -ServerAddresses "172.16.16.1","172.16.16.2"

内容的提问来源于stack exchange,提问作者Kitsu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:57:00