【问题标题】:Merge 2 arrays names [duplicate]合并2个数组名称[重复]
【发布时间】:2017-12-25 16:21:01
【问题描述】:

我试图找出如何合并 2 个数组名称,这是我尝试运行的,但没有成功

for ($i=1; $i -le 4; $i++) {
    $test[$i] = Invoke-WebRequest http://lon-serv-$i/mani.json -TimeoutSec 30 -ErrorVariable RestError -ErrorAction SilentlyContinue
}

我想要发生的是我将拥有 4 个数组:

$test1 
$test2 
$test3 
$test4

有人知道我做错了什么吗?

【问题讨论】:

  • 不起作用怎么办?你得到一个空数组(可能没有来自网站的响应?),数组中只有一个元素,一条错误消息,还是你只得到一个 $test 变量?
  • 我收到带有以下错误“无法索引到空数组”的错误消息,然后我在开头添加了 $test=@() 并再次收到带有以下错误的错误消息“索引是超出数组范围"
  • 关于网站的回复——这没有问题,我总是得到回复。
  • $test 没有声明为我在这里看到的数组。 PowerShell 数组也是固定大小的。如果你想要动态变量名,你需要使用New-Variable,但我认为你最好使用arraylists
  • 我完全不清楚你想在这里实现什么。您想在该数组中有 1 个包含 4 个元素的数组变量吗? 4个变量? 4个数组?你想合并什么?如何?示例通常有助于说明您拥有什么以及您真正想要完成什么。

标签: powershell powershell-4.0


【解决方案1】:

您是在告诉 powershell 获取 $test[$i] 中的对象,而不是声明一个名为 $test1/$tets2 的新变量。你可以像这样使用一组网络请求:

$test +=@()
for ($i=1; $i -le 4; $i++)
{
    $test += Invoke-WebRequest http://lon-serv-$i/mani.json -TimeoutSec 30 -ErrorVariable RestError -ErrorAction SilentlyContinue
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2019-12-20
    • 2021-12-17
    • 2020-05-14
    相关资源
    最近更新 更多