创建包含文件夹中所有文件的版本号的.text文件PowerShell

时间:2014-05-30 15:06:02

标签: powershell

下午好,

虽然我已经在VBA中编程了20年,但是我在第2周使用PowerShell,所以请耐心等待!

我想使用PowerShell脚本创建一个txt文件,其中包含指定文件夹中大于15000字节的所有.dll文件的详细信息:

$MySourceFolderName = "C:\PetesStuff\01 Backup"

$MyOutputFile = "C:\PSOutputA.txt"

get-childitem $MySourceFolderName -recurse |where-object {$_.length -gt 15000} | where-object {$_.extension -eq ".dll"} |
    sort-object -property Length -descending | Format-Table Name, Length -auto| Out-File -filepath  $MyOutputFile

到目前为止,这是有效的,但我也希望包含文件版本,不能以与名称和长度相同的方式访问。

有人可以帮帮我吗?

提前致谢

皮特

1 个答案:

答案 0 :(得分:0)

好的,可以!你想要的是Get-Command(我不知道为什么,但我知道它有效)。我们可以将它放在Format-Table命令中的一个即兴哈希表中。此外,我将把第二个Where语句移动到-filter,以便提供程序为您过滤,并抛出一些别名,因为这是一个非常长的行。

GCI $MySourceFolderName -recurse -Filter "*.dll" | ?{$_.length -gt 15000} | sort -property Length -descending |
    FT Name, Length, @{l="File Version";e={(Get-Command $_.FullName).FileVersionInfo.FileVersion}} -auto| Out-File -filepath  $MyOutputFile