Powershell实现从注册表获取本地关联文件的扩展名
适用于所有版本。
在先前的技巧中我们知道如何用一行命令获取多行注册表记录,这里,我们再来回顾下这段代码:
$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中使用replace操作符替换字符串实例
这篇文章主要介绍了PowerShell中使用replace操作符与替换字符串实例,着重介绍了replace的语法,需要的朋友可以参考下2014-07-07PowerShell中使用Get-Date获取日期时间并格式化输出的例子
这篇文章主要介绍了PowerShell中使用Get-Date获取日期时间并格式化输出的例子,本文讲解了直接调用Get-Date、在Write-Host中使用Get-Date、格式化输出的方法,需要的朋友可以参考下2014-08-08PowerShell中iso8601格式日期和DateTime对象互转实例
这篇文章主要介绍了PowerShell中iso8601格式日期和DateTime对象互转实例,本文讲解了iso8601格式转换成DateTime对象、日期时间转换成iso8601格式两个方法,需要的朋友可以参考下2015-01-01PowerShell远程安装MSI安装包、EXE可执行程序的方法
这篇文章主要介绍了PowerShell远程安装MSI安装包、EXE可执行程序的方法,需要的朋友可以参考下2014-05-05
最新评论