使用 PowerShell 来获取 C:\Windows\System32 目录下所有 .exe 文件的版本号。可以通过 Get-Item 或 Get-ChildItem 获取文件信息,然后使用 VersionInfo 属性来提取版本号。
使用 PowerShell 来获取 C:\Windows\System32 目录下所有 .exe 文件的版本号。可以通过 Get-Item 或 Get-ChildItem 获取文件信息,然后使用 VersionInfo 属性来提取版本号。
下面是一个示例脚本:
powershellCopy Code
# 获取 C:\Windows\System32 目录下所有 .exe 文件的版本号
$folderPath = "C:\Windows\System32"
Get-ChildItem -Path $folderPath -Filter "*.exe" | ForEach-Object {
$file = $_
$version = (Get-Item $file.FullName).VersionInfo.FileVersion
[PSCustomObject]@{
FileName = $file.Name
FilePath = $file.FullName
Version = $version
}
}
解释:
Get-ChildItem -Path $folderPath -Filter "*.exe":获取C:\Windows\System32目录下所有扩展名为.exe的文件。ForEach-Object:对于每个.exe文件,执行指定的操作。Get-Item $file.FullName:获取每个文件的详细信息。VersionInfo.FileVersion:从文件的版本信息中提取版本号。[PSCustomObject]:以自定义对象的形式输出文件名、路径和版本号。
运行上述脚本后,PowerShell 会输出类似如下的结果:
Copy Code
FileName FilePath Version
-------- -------- -------
cmd.exe C:\Windows\System32\cmd.exe 10.0.19041.1
explorer.exe C:\Windows\System32\explorer.exe 10.0.19041.1
...
这样你可以获取所有 .exe 文件的版本号,并且可以进一步处理或导出这些信息。
进一步改进:
如果你希望将结果导出到文件(例如 CSV 格式),可以通过以下方式:
powershellCopy Code
# 将结果导出到 CSV 文件
$folderPath = "C:\Windows\System32"
$outputFile = "C:\System32_Executables.csv"
Get-ChildItem -Path $folderPath -Filter "*.exe" | ForEach-Object {
$file = $_
$version = (Get-Item $file.FullName).VersionInfo.FileVersion
[PSCustomObject]@{
FileName = $file.Name
FilePath = $file.FullName
Version = $version
}
} | Export-Csv -Path $outputFile -NoTypeInformation
这会将结果保存到 System32_Executables.csv 文件中,便于后续查看和分析。

浙公网安备 33010602011771号