使用 powershell,[Get-ChildItem] 我想通过名称递归搜索所有 exe 显示最高的 FileVersion 和 FullName
Using powershell, [Get-ChildItem] I want to search recursively for all exe by the Name display the highest FileVersion and FullName
使用 powershell,
喜欢 [Get-ChildItem]
我想通过“.Name”递归搜索所有 exe,显示最高的“.FileVersion”和“.FullName”
Get-ChildItem -Recurse \server\loads\*\Product\*.exe | sort Name,FileVersion | Select-Object -Property FileVersion, Name, FullName | Out-GridView
第一个 * 是 Alpha、Beta、Release,第二个 * 是子产品 [可能的 2 深度] 和可执行文件
这个 LOADS 共享如何变得难以控制,EXE 的备份和递归存储也如此
我正在寻找像这样的输出:
FileVersion Name FullName
----------- ---- --------
1.0.0.3 PBX.exe \server\loads\Beta\product\Platform\PBXInstall\PBXInterface.exe
2.0.0.0 Door.exe \server\loads\Release\product\Platform\DoorInstall\DoorInterface.exe
1.0.1.3 CA.exe \server\loads\Alpha\product\Platform\CAInstall\CAInterface.exe
1.0.9.3 POS.exe \server\loads\Release\product\Platform\POSInstall\POSInterface.exe
其中每一个在所有 3 个文件夹中都有一个计数,并且在低深度中可能更多,因为它存储不正确
无论发布周期如何,我都需要最新的
我知道您想搜索路径中的所有 exe 文件,然后对于每个 exe 名称,例如 PBX.exe 您只想显示最高版本的路径。
这是我在 Windows 10
上设计的解决方案
GCI -recurse *.exe | Select -first 20| select name,fullname,@{l='FileVersion';e={[SYSTEM.version]($_.versioninfo.fileversion)}} | group Name | %{$_.Group | sort -descending fileVersion | select -first 1}
祝你好运!
Get-ChildItem -Recurse -Path '\server\loads\*\Product\*.exe' |
Select-Object -Property @(
'Name','FullName',
@{ N='FileVersion';
E={[Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName) |
ForEach-Object {
[Version](($_.FileMajorPart, $_.FileMinorPart, $_.FileBuildPart, $_.FilePrivatePart) -join '.' }
}
}
) |
Sort-Object -Property 'Name','FileVersion' |
Out-GridView
使用 powershell, 喜欢 [Get-ChildItem]
我想通过“.Name”递归搜索所有 exe,显示最高的“.FileVersion”和“.FullName”
Get-ChildItem -Recurse \server\loads\*\Product\*.exe | sort Name,FileVersion | Select-Object -Property FileVersion, Name, FullName | Out-GridView
第一个 * 是 Alpha、Beta、Release,第二个 * 是子产品 [可能的 2 深度] 和可执行文件
这个 LOADS 共享如何变得难以控制,EXE 的备份和递归存储也如此
我正在寻找像这样的输出:
FileVersion Name FullName
----------- ---- --------
1.0.0.3 PBX.exe \server\loads\Beta\product\Platform\PBXInstall\PBXInterface.exe
2.0.0.0 Door.exe \server\loads\Release\product\Platform\DoorInstall\DoorInterface.exe
1.0.1.3 CA.exe \server\loads\Alpha\product\Platform\CAInstall\CAInterface.exe
1.0.9.3 POS.exe \server\loads\Release\product\Platform\POSInstall\POSInterface.exe
其中每一个在所有 3 个文件夹中都有一个计数,并且在低深度中可能更多,因为它存储不正确
无论发布周期如何,我都需要最新的
我知道您想搜索路径中的所有 exe 文件,然后对于每个 exe 名称,例如 PBX.exe 您只想显示最高版本的路径。
这是我在 Windows 10
上设计的解决方案GCI -recurse *.exe | Select -first 20| select name,fullname,@{l='FileVersion';e={[SYSTEM.version]($_.versioninfo.fileversion)}} | group Name | %{$_.Group | sort -descending fileVersion | select -first 1}
祝你好运!
Get-ChildItem -Recurse -Path '\server\loads\*\Product\*.exe' |
Select-Object -Property @(
'Name','FullName',
@{ N='FileVersion';
E={[Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName) |
ForEach-Object {
[Version](($_.FileMajorPart, $_.FileMinorPart, $_.FileBuildPart, $_.FilePrivatePart) -join '.' }
}
}
) |
Sort-Object -Property 'Name','FileVersion' |
Out-GridView