首页 > 解决方案 > Powershell 只输出第一个字符

问题描述

我有以下数据集:

 id|selectedquery|
 1|SELECT fieldX FROM tableA|
 2|SELECT fieldY FROM tableB|

该数据集用于以下代码

$rows=($dataSet.Tables | Select-Object -Expand Rows)
$i=0
foreach ($row in $rows)
{
#Write-Output $rows.selectquery[$i].length
$query =   $rows.selectquery[$i]
#Write-Output $rows.selectquery[$i]
--doing some stuff--
$i++
}

通常$rows.selectquery[$i]只给我字段中值的第一个字符是selectedquery“S”。

当我从中删除时[$i]$rows.selectquery它会给我(可以理解的)多条记录。如果我在$rows.selectquery[$i]一切正常后将 [$i] 放回去。

谁能解释这种行为?

标签: powershell

解决方案


您将希望在或者不是整个集合上引用该SelectQuery属性:$row$rows[$i]$rows

$row.SelectQuery
# or
$rows[$i].SelectQuery

推荐阅读