首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将列的结果作为数组存储在for循环变量中

如何将列的结果作为数组存储在for循环变量中
EN

Stack Overflow用户
提问于 2018-09-18 06:34:08
回答 1查看 184关注 0票数 0

我在一个表中有一些行,其中有一个名为"query_server“的列。

Invoke_ASCmd命令必须在不同的查询服务器(称为Destination_server)上调用两次(2行),如下所示:

代码语言:javascript
复制
    foreach($row in $Table | where { $_.cube_name -match $CUBE -and $_.active -match $Active })
{
    $Destination_Server = $row.Item("query_server")
    $sync_output += "_$Destination_Server.txt"
    Invoke-ASCmd –InputFile $XML_file -Server $Destination_Server >$sync_output

}

我试过这样做,但不起作用

代码语言:javascript
复制
$i=0
foreach($row in $Table | where { $_.cube_name -match $CUBE -and $_.active -match $Active })
{
    @($Destination_Server) = $row.Item("query_server")
    $sync_output += "_$Destination_Server.txt"
    Invoke-ASCmd –InputFile $XML_file -Server $Destination_Server[$i] >$sync_output
    $i++
}

抛出错误:

  • @($Destination_Server) = $row.Item("query_server")
  • - CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException - FullyQualifiedErrorId : InvalidLeftHandSide

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-18 07:12:16

数组必须在foreach循环之外初始化。否则,它只能在循环的单个实例中使用。

试试这个:

代码语言:javascript
复制
$i=0
$Destination_Server = @()
foreach($row in $Table | where { $_.cube_name -match $CUBE -and $_.active -match $Active })
{
    $Destination_Server += $row.Item("query_server")
    $sync_output += "_$Destination_Server.txt"
    Invoke-ASCmd –InputFile $XML_file -Server $Destination_Server[$Destination_Server.length -1] >$sync_output
    $i++
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52380278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档