Search for a text string in a file & display all the lines where it is found.

Syntax FIND [/V] [/C] [/N] [/I] "string" [pathname(s)]


/V : Display all lines NOT containing the specified string.

/C : Count the number of lines containing the string.

/N : Display Line numbers.

/I : Ignore the case of characters when searching for the string.

"string" : The text string to find (must be in quotes).

[pathname] : A drive, file or files to search.

If a [pathname] is not specified, FIND will prompt for text input or will accept text piped from another command.

(use CTRL-Z to end manual text input)


If names.txt contains the following:

Joe Bloggs, 123 Main St, Dunoon Arnold Jones, 127 Scotland Street, Edinburgh

To search for "Jones" in names.txt

FIND "Jones" names.txt

---------- NAMES.TXT Arnold Jones, 127 Scotland Street, Edinburgh

If you want to pipe a command into FIND use this syntax

TYPE names.txt | FIND "Jones"

You can also redirect like this

FIND /i "Jones" < names.txt >logfile.txt

To search a folder for files that contain a given search string

FOR %G IN (*.txt) do (find /n /i "SearchWord" "%G")

Searching from Windows Explorer

Because the built-in Windows File Search is broken you may want to add a find script to the Send To folder. Alternatively Agent Ransack or other search utilities will do the job properly.


Although FIND can be used to scan large files, it will not detect any string that is positioned more than 1070 characters along a single line (with no carriage return) This makes it of limited use in searching binary or XML file types.

"Instead of getting married again, I'm going to find a woman I don't like and just give her a house." - Lewis Grizzard


FC - Compare files

FINDSTR - Search for strings in files

MUNGE - Find and Replace text within file(s)

ATTRIB - Find filename (rather than searching the file contents)

Powershell: Where-Object - Filter objects passed along the pipeline.

Equivalent bash command (Linux): awk/gawk - Find and Replace text within file(s)