首页 > 解决方案 > PowerShell 数组/索引/变量

问题描述

下面的代码正在检查一个下拉框,该项目已被选中,然后在几个数组中搜索,一旦找到,循环就被打破,我在“`$$($array.name)”中收到正确的信息.

$search = $CreateNewUserFormDropDownBoxLocation.SelectedItem.Split('-')[$($CreateNewUserFormDropDownBoxLocation.SelectedItem.Split('-').Count - 1)].Trim() + '*'

$AllLocations = (Get-Variable -Include USPennsylvaniaAve, USSixthStreet, USRodeoDrive, USOneMicrosoftWay,`
                    USNorthTantauAvenue, USMarketStreet, USMainStreet, USEmilyDrive,`
                    USCalle8, USBroadway, US18thStreetNW, UKOxfordStreet, UKDowningStreet,`
                    UKBondStreet, FRRuedeRivoli, FRChampsElysees, CHBahnhofstrasse,`
                    CA17thAvenue) | ? {$_.value -is [array]}

foreach ($Array in $AllLocations) {
    if ($array.value -like $search) {
        break
    }
}
$test = "`$$($array.name)"

问题是变量$test确实包含正确的数组,我很感兴趣,可以使用索引(我希望我说得对)。

例如,在代码运行并输入$test后,结果为 example $USMarketStreet,这是我的数组之一。

如果我尝试通过键入来获取第一个索引,$test[0]我没有从数组中获得预期的内容,它会给我$.

如果我输入$test[0..4],我会得到:

$
ü
小号
米
一个

我的意图是从数组中取出第一个键,但不是那样,而是从数组名称中取出第一个字符。

有什么诀窍,我怎么能得到它?我也尝试过玩$array$array.value但没有成功。

标签: powershell

解决方案


推荐阅读