如何使用 PowerShell 在文件中进行搜索?


若要搜索 PowerShell 中文件中的内容,你需要先使用 **Get-Content** 命令从文件中获取内容,然后你需要添加 **Select-String** 流水线命令。在下例中,我们需要搜索包含 Get 单词的行。

PS C:\WINDOWS\system32> Get-Content D:\Temp\PowerShellaliases.txt | Select-String -Pattern Get
Alias           cat -> Get-Content
Alias           dir -> Get-ChildItem
Alias           gal -> Get-Alias
Alias           gbp -> Get-PSBreakpoint
Alias           gc -> Get-Content
Alias           gcb -> Get-Clipboard                               3.1.0.0    Microsoft.PowerShell.Management
Alias           gci -> Get-ChildItem
Alias           gcm -> Get-Command
Alias           gcs -> Get-PSCallStack
Alias           gdr -> Get-PSDrive
Alias           ghy -> Get-History
Alias           gi -> Get-Item
Alias           gin -> Get-ComputerInfo                            3.1.0.0    Microsoft.PowerShell.Management
Alias           gjb -> Get-Job
Alias           gl -> Get-Location
Alias           gm -> Get-Member
Alias           gmo -> Get-Module
Alias           gp -> Get-ItemProperty
Alias           gps -> Get-Process
Alias           gpv -> Get-ItemPropertyValue

你可以使用多个模式搜索结果。

示例

Get-Content D:\Temp\PowerShellaliases.txt | Select-String -Pattern Get,Set

输出

Get-Content D:\Temp\PowerShellaliases.txt | Select-String -Pattern Get,Set
Alias           gsnp -> Get-PSSnapin
Alias           gsv -> Get-Service
Alias           gtz -> Get-TimeZone
Alias           gu -> Get-Unique
Alias           gv -> Get-Variable
Alias           gwmi -> Get-WmiObject
Alias           h -> Get-History
Alias           history -> Get-History
Alias           ls -> Get-ChildItem
Alias           ps -> Get-Process
Alias           pwd -> Get-Location
Alias           sal -> Set-Alias
Alias           sbp -> Set-PSBreakpoint
Alias           sc -> Set-Content
Alias           scb -> Set-Clipboard
Alias           set -> Set-Variable
Alias           si -> Set-Item
Alias           sl -> Set-Location
Alias           sp -> Set-ItemProperty
Alias           stz -> Set-TimeZone

更新于: 16-3-2020

超过 1.3 万次浏览

开启你的 职业

完成课程,获得认证

开始
广告