Select-String
Hiermee vindt u tekst in tekenreeksen en bestanden.
Syntax
Select-String
[-Pattern] <string[]>
[-Path] <string[]>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <string[]>]
[-Exclude <string[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <string>]
[-Context <Int32[]>]
[<CommonParameters>]
Select-String
[-Pattern] <string[]>
-InputObject <psobject>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <string[]>]
[-Exclude <string[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <string>]
[-Context <Int32[]>]
[<CommonParameters>]
Select-String
[-Pattern] <string[]>
-LiteralPath <string[]>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <string[]>]
[-Exclude <string[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <string>]
[-Context <Int32[]>]
[<CommonParameters>]
Description
De Select-String
cmdlet zoekt naar tekst en tekstpatronen in invoertekenreeksen en -bestanden. U kunt vergelijkbare als grep gebruiken Select-String
in UNIX of findstr.exe in Windows.
Select-String
is gebaseerd op regels tekst. Select-String
Standaard wordt de eerste overeenkomst in elke regel gevonden en voor elke overeenkomst worden de bestandsnaam, het regelnummer en alle tekst in de regel met de overeenkomst weergegeven. U kunt direct Select-String
meerdere overeenkomsten per regel zoeken, tekst voor en na de overeenkomst weergeven of een Booleaanse waarde (Waar of Onwaar) weergeven die aangeeft of er een overeenkomst is gevonden.
Select-String
maakt gebruik van reguliere expressiekoppeling, maar het kan ook een overeenkomst uitvoeren waarmee in de invoer wordt gezocht naar de tekst die u opgeeft.
Select-String
kan alle tekstovereenkomsten weergeven of stoppen na de eerste overeenkomst in elk invoerbestand.
Select-String
kan worden gebruikt om alle tekst weer te geven die niet overeenkomt met het opgegeven patroon.
U kunt ook opgeven dat Select-String
een bepaalde tekencodering moet verwachten, bijvoorbeeld wanneer u bestanden met Unicode-tekst zoekt. Select-String
gebruikt de byte-order-mark (BOM) om de coderingsindeling van het bestand te detecteren. Als het bestand geen stuklijst heeft, wordt ervan uitgegaan dat de codering UTF8 is.
Voorbeelden
Voorbeeld 1: Een hoofdlettergevoelige overeenkomst zoeken
In dit voorbeeld wordt een hoofdlettergevoelige overeenkomst uitgevoerd met de tekst die in de pijplijn naar de Select-String
cmdlet is verzonden.
'Hello', 'HELLO' | Select-String -Pattern 'HELLO' -CaseSensitive -SimpleMatch
De tekenreeksen Hello en HELLO worden in de pijplijn naar de Select-String
cmdlet verzonden.
Select-String
gebruikt de parameter Pattern om HELLO op te geven. De parameter CaseSensitive geeft aan dat de hoofdletters alleen overeenkomen met het hoofdletterpatroon. SimpleMatch is een optionele parameter en geeft aan dat de tekenreeks in het patroon niet wordt geïnterpreteerd als een reguliere expressie.
Select-String
geeft HELLO weer in de PowerShell-console.
Voorbeeld 2: overeenkomsten zoeken in tekstbestanden
Met deze opdracht wordt gezocht in alle bestanden met de .txt
bestandsnaamextensie in de huidige map. In de uitvoer worden de regels in de bestanden weergegeven die de opgegeven tekenreeks bevatten.
Get-Alias | Out-File -FilePath .\Alias.txt
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\*.txt -Pattern 'Get'
Alias.txt:8:Alias cat -> Get-Content
Alias.txt:28:Alias dir -> Get-ChildItem
Alias.txt:43:Alias gal -> Get-Alias
Command.txt:966:Cmdlet Get-Acl
Command.txt:967:Cmdlet Get-Alias
In dit voorbeeld Get-Alias
worden en Get-Command
gebruikt met de Out-File
cmdlet om twee tekstbestanden te maken in de huidige map, Alias.txt en Command.txt.
Select-String
gebruikt de parameter Path met het jokerteken sterretje (*
) om alle bestanden in de huidige map met de bestandsnaamextensie .txt
te doorzoeken. De parameter Pattern geeft de tekst op die overeenkomt met Get-. Select-String
geeft de uitvoer weer in de PowerShell-console. De bestandsnaam en het regelnummer gaan vooraf aan elke inhoudsregel die een overeenkomst bevat voor de parameter Pattern .
Voorbeeld 3: Een patroonovereenkomst zoeken
In dit voorbeeld worden meerdere bestanden doorzocht om overeenkomsten te vinden voor het opgegeven patroon. Het patroon maakt gebruik van een reguliere expressie-kwantificator. Zie about_Regular_Expressions voor meer informatie.
Select-String -Path "$PSHOME\en-US\*.txt" -Pattern '\?'
C:\Program Files\PowerShell\6\en-US\default.help.txt:27: beginning at https://go.microsoft.com/fwlink/?LinkID=108518.
C:\Program Files\PowerShell\6\en-US\default.help.txt:50: or go to: https://go.microsoft.com/fwlink/?LinkID=210614
De Select-String
cmdlet gebruikt twee parameters, Pad en Patroon. De parameter Path maakt gebruik van de variabele $PSHOME
die de PowerShell-map opgeeft. De rest van het pad bevat de submap en-US en geeft elk *.txt
bestand in de map op. De parameter Pattern geeft aan dat deze overeenkomt met een vraagteken (?
) in elk bestand. Een backslash (\
) wordt gebruikt als escapeteken en is noodzakelijk omdat het vraagteken (?
) een reguliere expressie-kwantificator is. Select-String
geeft de uitvoer weer in de PowerShell-console. De bestandsnaam en het regelnummer gaan vooraf aan elke inhoudsregel die een overeenkomst bevat voor de parameter Pattern .
Voorbeeld 4: Select-String gebruiken in een functie
In dit voorbeeld wordt een functie gemaakt om te zoeken naar een patroon in de Help-bestanden van PowerShell. In dit voorbeeld bestaat de functie alleen in de PowerShell-sessie. Wanneer de PowerShell-sessie wordt gesloten, wordt de functie verwijderd. Zie about_Functions voor meer informatie.
PS> Function Search-Help
>> {
>> $PSHelp = "$PSHOME\en-US\*.txt"
>> Select-String -Path $PSHelp -Pattern 'About_'
>> }
PS>
PS> Search-Help
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:2: about_ActivityCommonParameters
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:31: see about_WorkflowCommonParameters.
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:33: about_CommonParameters.
De functie wordt gemaakt op de PowerShell-opdrachtregel. De Function
opdracht gebruikt de naam Search-Help. Druk op Enter om instructies toe te voegen aan de functie. Voeg vanuit de >>
prompt elke instructie toe en druk op Enter , zoals wordt weergegeven in het voorbeeld. Nadat de haak sluiten is toegevoegd, keert u terug naar een PowerShell-prompt.
De functie bevat twee opdrachten. Met $PSHelp
de variabele wordt het pad naar de PowerShell-helpbestanden opgeslagen. $PSHOME
is de PowerShell-installatiemap met de submap en-US waarin elk *.txt
bestand in de map wordt opgegeven.
De Select-String
opdracht in de functie maakt gebruik van de parameters Pad en Patroon . De parameter Path gebruikt de $PSHelp
variabele om het pad op te halen. De parameter Pattern gebruikt de tekenreeks About_ als het zoekcriterium.
Als u de functie wilt uitvoeren, typt u Search-Help
. De opdracht van de Select-String
functie geeft de uitvoer weer in de PowerShell-console.
Voorbeeld 5: Search voor een tekenreeks in een Windows-gebeurtenislogboek
In dit voorbeeld wordt gezocht naar een tekenreeks in een Windows-gebeurtenislogboek. De variabele $_
vertegenwoordigt het huidige object in de pijplijn. Zie about_Automatic_Variables voor meer informatie.
$Events = Get-WinEvent -LogName Application -MaxEvents 50
$Events | Select-String -InputObject {$_.message} -Pattern 'Failed'
De Get-WinEvent
cmdlet gebruikt de parameter LogName om het toepassingslogboek op te geven. De parameter MaxEvents haalt de 50 meest recente gebeurtenissen op uit het logboek. De logboekinhoud wordt opgeslagen in de variabele met de naam $Events
.
De $Events
variabele wordt door de pijplijn naar de Select-String
cmdlet verzonden. Select-String
gebruikt de parameter InputObject . De $_
variabele vertegenwoordigt het huidige object en message
is een eigenschap van de gebeurtenis. Met de parameter Pattern wordt de tekenreeks Mislukt gevonden en wordt gezocht naar overeenkomsten in $_.message
. Select-String
geeft de uitvoer weer in de PowerShell-console.
Voorbeeld 6: Een tekenreeks zoeken in submappen
In dit voorbeeld wordt in een map en alle submappen gezocht naar een specifieke tekenreeks.
Get-ChildItem -Path C:\Windows\System32\*.txt -Recurse | Select-String -Pattern 'Microsoft' -CaseSensitive
Get-ChildItem
gebruikt de parameter Path om C:\Windows\System32*.txtop te geven. De parameter Recurse bevat de submappen. De objecten worden door de pijplijn verzonden naar Select-String
.
Select-String
gebruikt de parameter Pattern en geeft de tekenreeks Microsoft op. De parameter CaseSensitive wordt gebruikt om het exacte hoofdlettergebruik van de tekenreeks te vinden. Select-String
geeft de uitvoer weer in de PowerShell-console.
Notitie
Afhankelijk van uw machtigingen ziet u mogelijk berichten over geweigerde toegang in de uitvoer.
Voorbeeld 7: Tekenreeksen zoeken die niet overeenkomen met een patroon
In dit voorbeeld ziet u hoe u regels met gegevens uitsluit die niet overeenkomen met een patroon.
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get', 'Set' -NotMatch
De Get-Command
cmdlet verzendt objecten in de pijplijn naar de Out-File
om het Command.txt-bestand in de huidige map te maken. Select-String
gebruikt de parameter Path om het Command.txt-bestand op te geven. Met de parameter Pattern wordt Get en Set opgegeven als het zoekpatroon. De parameter NotMatch sluit Get en Set uit van de resultaten.
Select-String
geeft de uitvoer in de PowerShell-console weer die niet Get of Set bevat.
Voorbeeld 8: Regels voor en na een overeenkomst zoeken
In dit voorbeeld ziet u hoe u de regels voor en na het overeenkomende patroon kunt ophalen.
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get-Computer' -Context 2, 3
Command.txt:1186:Cmdlet Get-CmsMessage 3.0.0.0 Microsoft.PowerShell.Security
Command.txt:1187:Cmdlet Get-Command 3.0.0.0 Microsoft.PowerShell.Core
> Command.txt:1188:Cmdlet Get-ComputerInfo 3.1.0.0 Microsoft.PowerShell.Management
> Command.txt:1189:Cmdlet Get-ComputerRestorePoint 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1190:Cmdlet Get-Content 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1191:Cmdlet Get-ControlPanelItem 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1192:Cmdlet Get-Counter 3.0.0.0 Microsoft.PowerShell.Diagnostics
De Get-Command
cmdlet verzendt objecten in de pijplijn naar de Out-File
om het Command.txt-bestand in de huidige map te maken. Select-String
gebruikt de parameter Path om het Command.txt-bestand op te geven. De parameter Pattern geeft Get-Computer op als het zoekpatroon. De parameter Context gebruikt twee waarden, voor en na, en markeert patroonovereenkomsten in de uitvoer met een punthaak (>
). De parameter Context voert de twee regels uit vóór de eerste patroonovereenkomst en drie regels na de laatste patroonovereenkomst.
Voorbeeld 9: Alle patroonovereenkomsten zoeken
In dit voorbeeld ziet u hoe met de parameter AllMatches elke patroonovereenkomst in een regel tekst wordt gevonden. Standaard wordt Select-String
alleen het eerste exemplaar van een patroon in een tekstregel gevonden. In dit voorbeeld worden objecteigenschappen gebruikt die met de Get-Member
cmdlet worden gevonden.
PS> $A = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell'
PS> $A
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:5: Describes the parameters that Windows PowerShell
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:9: Windows PowerShell Workflow adds the activity common
PS> $A.Matches
Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 4
Length : 10
Value : PowerShell
PS> $A.Matches.Length
2073
PS> $B = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell' -AllMatches
PS> $B.Matches.Length
2200
De Get-ChildItem
cmdlet maakt gebruik van de parameter Path . De parameter Path maakt gebruik van de variabele $PSHOME
die de PowerShell-map opgeeft. De rest van het pad bevat de submap en-US en geeft elk *.txt
bestand in de map op. De Get-ChildItem
objecten worden opgeslagen in de $A
variabele. De $A
variabele wordt door de pijplijn naar de Select-String
cmdlet verzonden. Select-String
gebruikt de parameter Pattern om in elk bestand te zoeken naar de tekenreeks PowerShell.
Vanaf de PowerShell-opdrachtregel wordt de inhoud van de $A
variabele weergegeven. Er is een regel die twee exemplaren van de tekenreeks PowerShell bevat.
De $A.Matches
eigenschap vermeldt het eerste exemplaar van het PowerShell-patroon op elke regel.
De $A.Matches.Length
eigenschap telt het eerste exemplaar van het PowerShell-patroon op elke regel.
De $B
variabele gebruikt dezelfde Get-ChildItem
en-cmdlets Select-String
, maar voegt de parameter AllMatches toe. AllMatches vindt elk exemplaar van het PowerShell-patroon op elke regel. De objecten die zijn opgeslagen in de $A
variabelen en $B
zijn identiek.
De $B.Matches.Length
eigenschap neemt toe omdat voor elke regel elk exemplaar van het PowerShell-patroon wordt geteld.
Parameters
-AllMatches
Geeft aan dat de cmdlet zoekt naar meer dan één overeenkomst in elke regel tekst. Zonder deze parameter vindt Select-String
u alleen de eerste overeenkomst in elke regel tekst.
Wanneer Select-String
meer dan één overeenkomst in een tekstregel wordt gevonden, wordt nog steeds slechts één MatchInfo-object voor de regel verzonden, maar de eigenschap Overeenkomsten van het object bevat alle overeenkomsten.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CaseSensitive
Geeft aan dat de cmdlet-overeenkomsten hoofdlettergevoelig zijn. Standaard zijn overeenkomsten niet hoofdlettergevoelig.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Context
Hiermee wordt het opgegeven aantal regels voor en na de lijn vastgelegd die overeenkomt met het patroon.
Als u één getal invoert als de waarde van deze parameter, bepaalt dat getal het aantal regels dat vóór en na de overeenkomst is vastgelegd. Als u twee getallen als waarde invoert, bepaalt het eerste getal het aantal regels vóór de overeenkomst en het tweede getal het aantal regels na de overeenkomst. Bijvoorbeeld -Context 2,3
.
In de standaardweergave worden lijnen met een overeenkomst aangegeven met een haak rechts (>
) (ASCII 62) in de eerste kolom van het beeldscherm. Niet-gemarkeerde regels vormen de context.
De contextparameter wijzigt niet het aantal objecten dat wordt gegenereerd door Select-String
.
Select-String
genereert één MatchInfo-object voor elke overeenkomst. De context wordt opgeslagen als een matrix van tekenreeksen in de eigenschap Context van het object.
Wanneer de uitvoer van een Select-String
opdracht door de pijplijn naar een andere Select-String
opdracht wordt verzonden, doorzoekt de ontvangende opdracht alleen de tekst in de overeenkomende regel. De overeenkomende regel is de waarde van de eigenschap Line van het object MatchInfo , niet de tekst in de contextlijnen. Als gevolg hiervan is de contextparameter niet geldig voor de ontvangende Select-String
opdracht.
Wanneer de context een overeenkomst bevat, bevat het object MatchInfo voor elke overeenkomst alle contextlijnen, maar worden de overlappende lijnen slechts eenmaal weergegeven in de weergave.
Type: | Int32[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
Hiermee geeft u het type codering voor het doelbestand. De standaardwaarde is Standaard.
De acceptabele waarden voor deze parameter zijn als volgt:
- ASCII Maakt gebruik van ASCII-tekenset (7-bits).
- BigEndianUnicode Gebruikt UTF-16 met de bytevolgorde big-endian.
- Standaard Gebruikt de codering die overeenkomt met de actieve codepagina van het systeem (meestal ANSI).
- OEM Gebruikt de codering die overeenkomt met de huidige OEM-codepagina van het systeem.
- Unicode Gebruikt UTF-16 met de bytevolgorde little-endian.
- UTF7 Maakt gebruik van UTF-7.
- UTF8 Maakt gebruik van UTF-8.
- UTF32 Gebruikt UTF-32 met de bytevolgorde little-endian.
Type: | String |
Accepted values: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Sluit de opgegeven items uit. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt
. Jokertekens zijn toegestaan.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Include
Bevat de opgegeven items. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt
. Jokertekens zijn toegestaan.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-InputObject
Hiermee geeft u de tekst te doorzoeken. Voer een variabele in die de tekst bevat of typ een opdracht of expressie waarmee de tekst wordt ophaalt.
Het gebruik van de parameter InputObject is niet hetzelfde als het verzenden van tekenreeksen in de pijplijn naar Select-String
.
Wanneer u meer dan één tekenreeks doorsluizen naar de Select-String
cmdlet, wordt gezocht naar de opgegeven tekst in elke tekenreeks en wordt elke tekenreeks geretourneerd die de zoektekst bevat.
Wanneer u de parameter InputObject gebruikt om een verzameling tekenreeksen te verzenden, Select-String
wordt de verzameling behandeld als één gecombineerde tekenreeks. Select-String
retourneert de tekenreeksen als een eenheid als de zoektekst in een tekenreeks wordt gevonden.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-List
Alleen het eerste exemplaar van overeenkomende tekst wordt geretourneerd vanuit elk invoerbestand. Dit is de meest efficiënte manier om lijstbestanden op te halen met inhoud die overeenkomt met de reguliere expressie.
Standaard wordt Select-String
een MatchInfo-object geretourneerd voor elke gevonden overeenkomst.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Hiermee geeft u het pad naar de bestanden te doorzoeken. De waarde van de parameter LiteralPath wordt precies gebruikt zoals deze wordt getypt. Geen tekens worden geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens vertellen PowerShell dat geen tekens als escape-reeksen worden geïnterpreteerd. Zie about_Quoting_Rules voor meer informatie.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NotMatch
Met de parameter NotMatch wordt tekst gevonden die niet overeenkomt met het opgegeven patroon.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Hiermee geeft u het pad naar de bestanden te zoeken. Jokertekens zijn toegestaan. De standaardlocatie is de lokale map.
Geef bestanden op in de map, zoals log1.txt
, *.doc
of *.*
. Als u alleen een map opgeeft, mislukt de opdracht.
Type: | String[] |
Position: | 1 |
Default value: | Local directory |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Pattern
Hiermee geeft u de tekst te zoeken op elke regel. Typ een tekenreeks of reguliere expressie. Als u een tekenreeks typt, gebruikt u de parameter SimpleMatch .
Zie about_Regular_Expressions voor meer informatie over reguliere expressies.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Quiet
Geeft aan dat de cmdlet een Booleaanse waarde (True of False) retourneert in plaats van een MatchInfo-object . De waarde is True als het patroon wordt gevonden; anders is de waarde False.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SimpleMatch
Geeft aan dat de cmdlet een eenvoudige overeenkomst gebruikt in plaats van een overeenkomst met een reguliere expressie. In een eenvoudige overeenkomst Select-String
zoekt u in de invoer naar de tekst in de parameter Pattern . De waarde van de parameter Pattern wordt niet geïnterpreteerd als een reguliere expressie-instructie.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt elk object met een ToString-methode doorspeken naar Select-String
.
Uitvoerwaarden
Microsoft.PowerShell.Commands.MatchInfo or System.Boolean
De uitvoer is standaard een set MatchInfo-objecten met één voor elke gevonden overeenkomst. Als u de parameter Quiet gebruikt, is de uitvoer een Booleaanse waarde die aangeeft of het patroon is gevonden.
Notities
Select-String
is vergelijkbaar met grep in UNIX of findstr.exe in Windows.
De alias sls voor de Select-String
cmdlet is geïntroduceerd in PowerShell 3.0.
Notitie
Volgens Goedgekeurde werkwoorden voor PowerShell-opdrachten is sc
het officiële aliasvoorvoegsel voor Select-*
cmdlets , niet sl
. Daarom moet de juiste alias voor Select-String
zijn scs
, niet sls
. Dit is een uitzondering op deze regel.
Als u wilt gebruiken Select-String
, typt u de tekst die u wilt zoeken als de waarde van de parameter Pattern . Gebruik de volgende criteria om de tekst op te geven die moet worden doorzocht:
- Typ de tekst in een tekenreeks met aanhalingstekens en sluis deze door naar
Select-String
. - Sla een tekenreeks op in een variabele en geef de variabele vervolgens op als de waarde van de parameter InputObject .
- Als de tekst is opgeslagen in bestanden, gebruikt u de parameter Path om het pad naar de bestanden op te geven.
De waarde van de parameter Pattern wordt standaard Select-String
geïnterpreteerd als een reguliere expressie. (Zie about_Regular_Expressions voor meer informatie.
U kunt de parameter SimpleMatch gebruiken om de reguliere expressieovereenkomst te overschrijven. Met de parameter SimpleMatch worden exemplaren van de waarde van de parameter Pattern in de invoer gevonden.
De standaarduitvoer van Select-String
is een MatchInfo-object , dat gedetailleerde informatie over de overeenkomsten bevat. De informatie in het object is handig wanneer u naar tekst in bestanden zoekt, omdat MatchInfo-objecten eigenschappen hebben zoals Bestandsnaam en Lijn. Wanneer de invoer niet afkomstig is uit het bestand, is de waarde van deze parameters InputStream.
Als u de informatie in het object MatchInfo niet nodig hebt, gebruikt u de parameter Quiet . De parameter Quiet retourneert een Booleaanse waarde (Waar of Onwaar) om aan te geven of er een overeenkomst is gevonden in plaats van een MatchInfo-object .
Bij het vergelijken van woordgroepen wordt Select-String
de huidige cultuur gebruikt die is ingesteld voor het systeem. Gebruik de cmdlet Get-Culture om de huidige cultuur te vinden.
Als u de eigenschappen van een MatchInfo-object wilt zoeken, typt u de volgende opdracht:
Select-String -Path test.txt -Pattern 'test' | Get-Member | Format-List -Property *