首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取For-每个数组的结果,并在带有列标题的表中显示每一结果一行。

获取For-每个数组的结果,并在带有列标题的表中显示每一结果一行。
EN

Stack Overflow用户
提问于 2019-08-10 14:06:20
回答 2查看 376关注 0票数 2

我正在尝试获取一个文件列表,并在一个由两列( Name和Lines )组成的表中显示每个文件中的行数。

我尝试过使用format表,但我认为问题不在于表的格式,而更多的原因是我的结果是单独的结果。见下文

代码语言:javascript
复制
#Get a list of files in the filepath location
$files = Get-ChildItem $filepath 

$files | ForEach-Object { $_ ; $_ | Get-Content | Measure-Object -Line}  | Format-Table Name,Lines

预期结果

名称线

档案A 9

B 89档案

实际结果

名称线

文件A

代码语言:javascript
复制
                                   9

档案B

代码语言:javascript
复制
                                   89
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-10 14:41:13

另一种方法是如何使自定义对象像这样:使用PowerShell的计算特性

代码语言:javascript
复制
$files | Select-Object -Property @{ N = 'Name' ; E = { $_.Name} }, 
    @{ N = 'Lines'; E = { ($_ | Get-Content | Measure-Object -Line).Lines } }

名称线? dotNetEnumClass.ps1 232 DotNetVersions.ps1 9 dotNETversionTable.ps1 64。

票数 3
EN

Stack Overflow用户

发布于 2019-08-10 14:20:35

通常您会像这样定制一个对象,而不是输出两种不同的对象。

代码语言:javascript
复制
$files | ForEach-Object { 
  $lines = $_ | Get-Content | Measure-Object -Line
  [pscustomobject]@{name = $_.name
                   lines = $lines.lines}
} 


name     lines
----     -----
rof.ps1     11
rof.ps1~     7
wai.ps1      2
wai.ps1~     1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57442853

复制
相关文章

相似问题

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