0

我正在使用 caml 查询检索列表项:

$list = $web.Lists["My List"]
$items = $list.GetItems($query)

我需要以可读的格式输出这些数据,比如表格。当我使用:

$items | Format-Table

我得到一张使用我不知道是什么构建的表。它绝对不是列表项。这是输出:

ListItems                                           Parent List
---------                                           -----------
{Title of List Item 1, Title of List Item 2, ...}   My List
{Title of List Item 1, Title of List Item 2, ...}   My List
{Title of List Item 1, Title of List Item 2, ...}   My List

如果我使用 foreach 循环输出 items 中的每个项目,我会得到正确的数据,但我无法将其格式化为表格。这是我的做法:

foreach($item in $items) {
  Write-Host $item["Title"] ---- $item["Author"] ---- $item["Category"]
}

哪个输出:

Test Title 1 ---- Hemingway ---- Best Seller
The Title of Number 2 ---- Stein ---- Horror
Three ---- Shakespeare ---- Tragedy  

不太可读。如何访问方法 1 中的正确数据,或将方法 2 格式化为表格?

4

1 回答 1

2

为每个项目创建一个自定义表并将其通过管道传输到Format-Table

$items | Foreach-Object{
  New-Object PSObject -Property @{
    Title = $_["Title"]
    Author = $_["Author"]
    Category = $_["Category"]
  }
} | Format-Table
于 2012-11-20T19:52:15.237 回答