【发布时间】:2020-06-27 10:33:45
【问题描述】:
我有以下命令
Get-WindowsDriver -Online -All | where {$_.ClassName -like "Display"}
这给了我这样的结果
Driver : vrd.inf
OriginalFileName : C:\Windows\System32\DriverStore\FileRepository\vrd.inf_amd64_3a0ba97737bffd01\vrd.inf
Inbox : True
ClassName : Display
BootCritical : False
ProviderName : Microsoft
Date : 6/21/2006 12:00:00 AM
Version : 10.0.18362.329
Driver : wvmbusvideo.inf
OriginalFileName : C:\Windows\System32\DriverStore\FileRepository\wvmbusvideo.inf_amd64_483a786e00a2cb7a\wvmbusvideo.inf
Inbox : True
ClassName : Display
BootCritical : False
ProviderName : Microsoft
Date : 6/21/2006 12:00:00 AM
Version : 10.0.18362.1
现在我只想提取两个结果的 OriginalFileName 行,所以我的输出看起来像这样
OriginalFileName : C:\Windows\System32\DriverStore\FileRepository\vrd.inf_amd64_3a0ba97737bffd01\vrd.inf
OriginalFileName : C:\Windows\System32\DriverStore\FileRepository\wvmbusvideo.inf_amd64_483a786e00a2cb7a\wvmbusvideo.inf
现在要获得上述结果,我可以这样做
Get-WindowsDriver -Online -All | where {$_.ClassName -like "Display"} | findstr OriginalFileName
但是上面命令的问题是 findstr 有我读过的字符限制,因为一些路径被切断了。所以为了解决这个问题,我正在尝试使用 Select-String。这就是我正在做的事情
Get-WindowsDriver -Online -All | where {$_.ClassName -like "Display"} | Select-String -Pattern "OriginalFileName"
但我没有得到任何结果。关于我可能做错的任何建议?
【问题讨论】: