获取文件夹中文件详细信息的格式化输出

时间:2018-08-29 15:01:52

标签: windows powershell

我想检索有关给定文件夹中所有文件的某些详细信息。

Get-ItemPropertyValue .\*.dll -name versioninfo

给我这样的输出:

psoutput

那还不错,但是我想包含一些其他属性,并且-include开关不能像我想的那样工作。

并为其指定-name versioninfo,例如lastwritetime,不会在列表中添加另一列,而是在下面显示日期:

wrong formatted output

如何将一个文件的所有读取属性带到同一行(添加列)中?

编辑: 我知道format-list,但是它没有给我宽列表输出,并且format-wide只接受一个属性...

2 个答案:

答案 0 :(得分:1)

怎么样?

Get-Item .\*.dll | Select-Object `
 @{N='ProductVersion';E={Get-ItemPropertyValue $_ -Name versionInfo | Select-Object -ExpandProperty ProductVersion}} `
,@{N='FileVersion';E={Get-ItemPropertyValue $_ -Name versionInfo | Select-Object -ExpandProperty FileVersion}} `
,Name `
,LastWriteTime

答案 1 :(得分:0)

我找到了一种更简单,更易读的方法来执行此操作,并且在脚本内运行时仍会生成输出:

Get-Childitem .\ThirdPartyComponents\*.dll | select name, lastwritetime, @{l="ProductVersion";e={$_.VersionInfo.ProductVersion}}, @{l="FileVersion";e={$_.VersionInfo.FileVersion}} | ft

需要到| ft(格式表)的最后一个管道,因为在脚本内部运行该命令时,该命令不会生成任何输出。为什么不是,我不确定。.