Powershell实现从注册表获取本地关联文件的扩展名

Lark ·
更新时间:2024-11-15
· 992 次阅读

适用于所有版本。
在先前的技巧中我们知道如何用一行命令获取多行注册表记录,这里,我们再来回顾下这段代码:

代码如下:
$lookup = Get-ItemProperty Registry::HKCR\.[a-f]?? |
  Select-Object -Property PSChildName, '(default)', ContentType, PerceivedType |
  Group-Object -Property PSChildName -AsHashTable -AsString
这次读取了所有HKCR中已点开始、3个字宽、且字母开头是A到F的键值。
另外将结果传递给Group-Object,用“PSChildName”做主键并组成一个可查找的表。
“PSChildName”这个值它就是文件的扩展名。
你现在就可以任意查找相关文件了,如下:
代码如下:
PS> $lookup.'.avi'

PSChildName         (default)           ContentType         PerceivedType     
-----------         ---------           -----------         -------------     
.avi                WMP11.AssocFile.AVI                     video             

PS> $lookup.'.fon'

PSChildName         (default)           ContentType         PerceivedType     
-----------         ---------           -----------         -------------     
.fon                fonfile                                          

只需要记住这里限定了3个且已a-f开头的文件。要获得全部,只需要替换一下即可:
代码如下:
Registry::HKCR\.*

您可能感兴趣的文章:Powershell从注册表中查询默认MAPI客户端的例子PowerShell注册表操作命令总结PowerShell使用Remove-Item命令删除文件、注册表项介绍PowerShell小技巧之查找获取注册表路径Powershell小技巧之获取注册表值的类型Powershell读取本机注册表中的所有软件关联扩展名Powershell实现从注册表获取用户配置脚本分享使用PowerShell修改注册表



注册表 PowerShell

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章