Segédprogramunk a %systemroot%\system32 könyvtárban található FINDSTR.EXE néven. Használatához indítsunk el egy parancssori ablakot, majd a FINDSTR /? utasítással kérhetünk listát az igénybe vehető kapcsolókról. A Windows 2000 verziókban ugyanúgy megtalálható, mint az XP-ben.
Eredetileg szövegfájlokon belüli sztringek keresésére készült (erre utal a nevében található str (=string) szó), de kitűnően használható más típusú fájlokon belüli karakterláncok megtalálására is. A fájlokat az első karaktertől az utolsóig végignézi és ha megtalálta a kérdéses karaktersorozatot, megjelenít egy általunk beállított részletességű információt a képernyőn. A dokumentumokat nem tudja dekódolni, mint az indexelő szolgáltatás, ezért egy Word dokumentumon belüli keresésnél nem fogja megtalálni a magyar ékezetes karaktereket tartalmazó szavakat. Minden fájlt szövegfájlként lát és ennek megfelelően használja őket. A legtöbb esetben ez elégséges.
A keresett szövegmintában alkalmazhatunk helyettesítő karaktereket, melyek jelentős mértékben kiszélesítik a lehetőségeket.
Nézzük meg gyakorlati példákon keresztül a helyettesítő karakterek használatát:
Keressük meg az aktuális mappából kiindulva az összes almappa (-s), összes fájljában (*.*) az "SQ"-val kezdődő szavakat, ahol az "SQ"-t egy tetszőleges karakter követheti (.).
- Bármennyi tetszőleges karakter
Ugyanaz, mint az előbb, de az "SQ" után tetszőleges számú karakter állhat.
Minden "Co"-val kezdődő és "ter"-el végződő szó keresése:
- A kifejezés helye szerinti keresés
Ha a keresett kifejezés helyére utalunk, mindig vegyük figyelembe, hogy a fájlokat szövegfájlként "látja" a parancs.
Keressük meg azokat az állományokat, melyekben valamelyik sor elején szerepel az "SQL" szó.
Ugyanez a sor végén:
Nem csak sorokban, hanem szavakban is megadható az elhelyezkedés.
Az "SQ" karakterekkel kezdődő szavakat tartalmazó fájlok listázása:
És az "SQ"-ra végződőké:
- Karakter tartományok szerinti keresés
Keressük meg azokat a fájlokat, melyekben a megadott karakter tartományban található bármelyik karakter szerepel. Tartomány lehet például [a-d], ami a következő karaktereket jelenti: a,b,c,d. A tartomány megadása ASCII táblázat szerint történik.
További példák
A "Computer" szó keresése az aktuális mappa, összes TXT kiterjesztésű állományában (*.txt) a kis- és nagybetűk megkülönböztetése nélkül (-i).
findstr -i "Computer" *.txt
Ugyanez, de kiírja, hogy melyik sorban voltak a találatok (-n).
findstr -i -n "Computer" *.txt
Soron belül, ennél a karakternél van a találat (-o).
findstr -i -n -o "Computer" *.txt
A keresés eredményében csak a fájlneveket jeleníti meg (-m) a találati környezetet nem.
findstr -i -m "Computer" *.txt
A -o kapcsoló hatástalan, ha a -m-et is használjuk.
Invertálhatjuk is a feltételt és megjeleníthetjük azokat a sorokat, melyek nem tartalmazzák a megadott kifejezést.
findstr -v "Computer" *.txt
Nem kötelező minden alkalommal beírni a keresési feltételt, kiolvashatjuk egy fájlból is, amit a -g kapcsoló után adunk meg.
Ha a -s kapcsolót használjuk az aktuálistól számított összes alkönyvtárban történik a keresés. Szűkíthető a kör, ha beírjuk vesszővel elválasztva a -d kapcsoló után, hogy kizárólag melyik mappákra vagyunk kíváncsiak.
findstr -i -d:Dokumentumok,Backup "Computer" *.txt
Rövid áttekintés alapján is megállapítható, hogy lényegesen több lehetőséget rejt magában a FINDSTR használata, mint a grafikus felületen igénybe vehető változat.