Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Söker efter textmönster i filer.
Syntax
findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<file>] [/c:<string>] [/g:<file>] [/d:<dirlist>] [/a:<colorattribute>] [/off[line]] <strings> [<drive>:][<path>]<filename>[ ...]
Parameterar
Parameter | Beskrivning |
---|---|
/b | Matchar textmönstret om det är i början av en rad. |
/ e | Matchar textmönstret om det är i slutet av en rad. |
/l | Bearbetar söksträngar bokstavligen. |
/r | Bearbetar söksträngar som reguljära uttryck. Det här är standardinställningen. |
/ s | Söker i den aktuella katalogen och alla underkataloger. |
/jag | Ignorerar skiftläget för tecknen när du söker efter strängen. |
/x | Skriver ut rader som matchar exakt. |
/v | Skriver bara ut rader som inte innehåller någon matchning. |
/ n | Skriver ut radnumret för varje rad som matchar. |
/m | Skriver bara ut filnamnet om en fil innehåller en matchning. |
/o | Skriver ut teckenförskjutning före varje matchande rad. |
/p | Hoppar över filer med icke-utskrivbara tecken. |
/off[rad] | Hoppar inte över filer som har offlineattributet inställt. |
/f:<file> |
Hämtar en fillista från den angivna filen. |
/c:<string> |
Använder den angivna texten som en literal söksträng. |
/g:<file> |
Hämtar söksträngar från den angivna filen. |
/d:<dirlist> |
Söker i den angivna listan med kataloger. Varje katalog måste avgränsas med ett semikolon (;), till exempel dir1;dir2;dir3 . |
/a:<colorattribute> |
Anger färgattribut med två hexadecimala siffror. Skriv color /? för ytterligare information. |
<strings> |
Anger den text som ska sökas efter i filnamn. Obligatoriskt. |
[\<drive>:][<path>]<filename>[...] |
Anger platsen och filen eller filerna som ska sökas. Minst ett filnamn krävs. |
/? | Visar Hjälp i kommandotolken. |
Anmärkningar
Alla kommandoradsalternativ för findstr måste föregå strängar och filnamn i kommandosträngen.
Reguljära uttryck använder både literaltecken och metatecken för att hitta textmönster i stället för exakta teckensträngar.
Ett literaltecken är ett tecken som inte har någon särskild betydelse i syntaxen för reguljära uttryck. i stället matchar den en förekomst av det tecknet. Bokstäver och siffror är till exempel literaltecken.
Ett metatecken är en symbol med särskild betydelse (en operator eller avgränsare) i syntaxen för reguljära uttryck.
De godkända meta-tecknen är:
Metatecken Värde .
jokertecken – alla tecken *
Upprepa – Noll eller fler förekomster av föregående tecken eller klass. ^
Radposition för början – början av raden. $
Slutlinjeposition – Slutet av linjen. [class]
Teckenklass – ett tecken i en uppsättning. [^class]
Inverse-klass – ett tecken som inte finns i en uppsättning. [x-y]
Range – Alla tecken inom det angivna intervallet. \x
Escape – Literal användning av ett metatecken. \<string
Begynnelseordposition – Början av ordet. string\>
Slutordsposition – Ordets slut. Specialtecken i syntaxen för reguljära uttryck har mest kraft när du använder dem tillsammans. Använd till exempel kombinationen av jokertecknet (
.
) och upprepa (*
) tecken för att matcha alla teckensträngar:.*
Använd följande uttryck som en del av ett större uttryck för att matcha alla strängar som börjar med b och slutar med ing:
b.*ing
Om du vill söka efter flera strängar i en uppsättning filer måste du skapa en textfil som innehåller varje sökvillkor på en separat rad.
Använd blanksteg för att separera flera söksträngar såvida inte argumentet är prefixet med /c.
Exempel
Om du vill söka efter hello eller det i filen x.yskriver du:
findstr hello there x.y
Om du vill söka efter hej där i filen x.yskriver du:
findstr /c:"hello there" x.y
Om du vill hitta alla förekomster av ordet Windows (med en inledande versal bokstav W) i filen proposal.txtskriver du:
findstr Windows proposal.txt
Om du vill söka i varje fil i den aktuella katalogen och alla underkataloger som innehåller ordet Windowsskriver du:
findstr /s /i Windows *.*
Om du vill hitta alla förekomster av rader som börjar med FOR och föregås av noll eller fler blanksteg (som i en datorprogramsloop) och för att visa radnumret där varje förekomst hittas skriver du:
findstr /b /n /r /c:^ *FOR *.bas
Om du vill visa en lista över de exakta filer som du vill söka i en textfil använder du sökvillkoren i filen stringlist.txt, för att söka i filerna som anges i filelist.txtoch sedan lagra resultaten i filen results.out, typ:
findstr /g:stringlist.txt /f:filelist.txt > results.out
Om du vill visa en lista över alla filer som innehåller ordet dator i den aktuella katalogen och alla underkataloger, oavsett skiftläge, skriver du:
findstr /s /i /m \<computer\> *.*
Om du vill visa en lista över alla filer som innehåller ordet dator och andra ord som börjar med comp (till exempel komplettera och tävla) skriver du:
findstr /s /i /m \<comp.* *.*