findstr

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>[ ...]

Parameters

Parameter Description
/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.
/i 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[line] 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 filnamnet. Required.
[\<drive>:][<path>]<filename>[...] Anger platsen och filen eller filerna som ska sökas. Minst ett filnamn krävs.
/? Visar Hjälp i kommandotolken.

Remarks

  • Alla findstr-kommandoradsalternativ 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:

      Meta-character Value
      . Jokertecken – valfritt tecken
      * Upprepa - Noll eller flera förekomster av det föregående tecknet eller klassen.
      ^ Radposition för början – början av raden.
      $ Slutlinjeposition – Slutet av linjen.
      [class] Teckenklass – Ett tecken i en uppsättning.
      [^class] Inverterad klass – Ett tecken som inte finns i en uppsättning.
      [x-y] Intervall – Alla tecken inom det angivna intervallet.
      \x Escape - Bokstavlig 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 en sträng 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 avgränsa flera söksträngar om inte argumentet har prefixet /c.

Examples

Om du vill söka efter hello eller där i filen x.y skriver du:

findstr hello there x.y

Om du vill söka efter hello there i filen x.y skriver du:

findstr /c:"hello there" x.y

Om du vill hitta alla förekomster av ordet Windows (med en inledande versal W) i filen proposal.txtskriver du:

findstr Windows proposal.txt

Om du vill söka i alla filer i den aktuella katalogen och alla underkataloger som innehåller ordet Windows, oavsett skiftläge, skriver 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 flera blanksteg (som i en datorprogramloop) och om du vill visa radnumret där varje förekomst finns, skriver du:

findstr /b /n /r /c:^ *FOR *.bas

Om du vill visa en lista över de exakta filer som du vill söka efter i en textfil använder du sökvillkoren i filen stringlist.txt, för att söka i filerna som visas i filelist.txtoch sedan för att lagra resultaten i filen results.out skriver du:

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