下午好,
虽然我已经在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
到目前为止,这是有效的,但我也希望包含文件版本,不能以与名称和长度相同的方式访问。
有人可以帮帮我吗?
提前致谢
皮特
答案 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