我正在尝试获取一个文件列表,并在一个由两列( Name和Lines )组成的表中显示每个文件中的行数。
我尝试过使用format表,但我认为问题不在于表的格式,而更多的原因是我的结果是单独的结果。见下文
#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
9档案B
89发布于 2019-08-10 14:41:13
另一种方法是如何使自定义对象像这样:使用PowerShell的计算特性
$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。
发布于 2019-08-10 14:20:35
通常您会像这样定制一个对象,而不是输出两种不同的对象。
$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~ 1https://stackoverflow.com/questions/57442853
复制相似问题