powershell - 使用 powershell 查询文件版本
问题描述
我有一个代码可以让我同时查询一个文件版本。如何查询此注册表项内的所有文件版本,或者我只想查询特定文件,包括 firefox、chrome 等?
(Get-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\App Paths\communicator.exe').'(Default)' | ForEach-Object {
Get-ChildItem -Path $_ | Select-Object -ExpandProperty VersionInfo | Select FileDescription,ProductVersion
} | Format-Table -AutoSize
解决方案
Get-ChildItem
您应该在包含您感兴趣的注册表项的“文件夹”上运行,而不是提供文字路径。结果是您通过管道传输到您的代码片段......像这样:
$Path = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\App Paths'
Get-ChildItem -Path $Path |
ForEach-Object {
Get-ItemProperty -Path $_.PSPath |
Select-Object -ExpandProperty '(default)' -ErrorAction SilentlyContinue |
ForEach-Object {
Get-Item -Path $_ -ErrorAction SilentlyContinue |
Select-Object FullName -ExpandProperty VersionInfo
}
} |
Format-Table -AutoSize
推荐阅读
- angular - Angular reactive form element set array field with array data
- python - n 维(n>1)numpy 数组中的 A[i] 和 A[i,:] 有什么区别?
- mysql - MySQL group by with time diff
- android - Search view onQueryTextChange issue
- javascript - Vue中的全局组件注册使用
- php - 连接数据库时如何提供凭据?
- node.js - NPM中以下行的含义是什么?
- sql-server - 静默安装 Microsoft Report Builder 3.0 失败
- html - 将鼠标悬停在 li 上时,如何仅使用左侧图像幻灯片
- apache-spark - 如何将过滤功能应用于 org.apache.spark.rdd.RDD[Array[Byte]]