欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-14 08:02:11
适用于所有版本。 在先前的技巧中我们知道如何用一行命令获取多行注册表记录,这里,我们再来回顾下这段代码: 复制代码 代码如下: $lookup = get-itemp...

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

复制代码 代码如下:

$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\.*