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

      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 searching for text that contains quote characters " , they should be escaped by doubling to ""


FIND will return an ErrorLevel as follows:

0 String found
1 String not found
2 Invalid switch, wrong parameters


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

C:\> FIND "Jones" names.txt

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

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

C:\> TYPE names.txt | FIND "Jones" 

You can also redirect like this

C:\> FIND /i "Jones" < names.txt >logfile.txt

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

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

Count the number of lines in a file:

C:\> TYPE myfile.txt | FIND "" /v /c

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


FINDSTR - Search for strings in files
ATTRIB - Find filename (rather than searching the file contents)
Redirection - Spooling output to a file, piping input.
Escape chars, delimiters and quotes
Agent Ransack - Free File Searching Utility
Powershell: Where-Object - Filter objects passed along the pipeline.
Equivalent bash command (Linux): awk/gawk - Find and Replace text within file(s)

© Copyright 1999-2014
Some rights reserved