Powershell实现从注册表获取本地关联文件的扩展名
适用于所有版本。
在先前的技巧中我们知道如何用一行命令获取多行注册表记录,这里,我们再来回顾下这段代码:
$lookup=Get-ItemPropertyRegistry::HKCR\.[a-f]??| Select-Object-PropertyPSChildName,'(default)',ContentType,PerceivedType| Group-Object-PropertyPSChildName-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