В една друга тема писах малко за търсене в stdout с find в cmd, но инструмента тук превъзхожда в пъти подобно търсене. Предполагам всеки любител или системен администратор си мечтае за възможността да ползва скоростта и мощността на търсещите конзолни инструменти от UNIX/Mac/Linux. В Windows е малко сложно да си настроите системата да изпълнява подобните команди през промпта, просто защото е супер орязан, а инсталирането на UnxUtils си е малко досадно понякога, а и задължително си иска ъпдейта, особено за sed и grep! Все пак малко успокоение е търсенето в файлове или в pipe-режим командата findstr.Тази команда може да работи с едни първобитни RegEx-и, които са доста далече от популярните и модерни PCRE. Но и поосакатено това търсене може доста да ни помогне.
За пример, да потърсим с кои програми се асоциират html файловете в Windows система, като ще използваме pipe-линия:
| ftype | findstr "html" | 
При мен резултата от подобно търсене е:
| accesshtmlfile="C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" Excelhtmlfile="C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" Excelhtmltemplate="C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" -nohome mhtmlfile="C:\Program Files\Internet Explorer\iexplore.exe" -nohome powerpointhtmlfile="C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE" powerpointhtmltemplate="C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE" wordhtmlfile="C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE" wordhtmltemplate="C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE" | 
Командата разполага със следните възможности за търсене с регулярни изрази:
| . | Wildcard: any character | 
| * | Repeat: zero or more occurrences of previous character or class | 
| ^ | Line position: beginning of line | 
| $ | Line position: end of line | 
| [class] | Character class: any one character in set | 
| [^class] | Inverse class: any one character not in set | 
| [x-z] | Range: any characters within the specified range | 
| \x | Escape: literal use of metacharacter x | 
| \<xyz | Word position: beginning of word | 
| xyz\> | Word position: end of word | 
Ключовете при стартиране на командата също могат да са полезни. За целта:
| findstr /? | 
