How do I search files for a batch-file or command-line string?

John Savill

January 8, 2000

1 Min Read
ITPro Today logo in a gray background | ITPro Today

A. The find command lets you search one file at a time for a string, but the findstr command is more versatile. This command has the following switches.

findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/f:file] [/c:string] [/g:file] [strings] [[drive:][path]filename[ ...]]

The following table explains each parameter.

Parameters

Meaning

/b

Matches pattern if at the start of a line

/e

Matches pattern if at the end of a line

/l

Searches literally

/r

Uses text as a regular expression (default)

/s

Searches current directory and all subdirectories

/i

Ignores case

/x

Selects lines that are an exact match

/v

Selects lines that don’t match

/n

Displays the line number before the matched line

/m

Displays only the matching filenames

/o

Displays the offset of the match before the matched line

/g:

Gets the search string from the specified file (e.g., /g:argument.txt)

/c:""

Uses text as a literal (e.g., /c:"string")

/f:

Gets the file list from the specified file (e.g., /f:filelist.txt)

strings

Denotes the search string (in double quotes if multiple words)

files

Shows the files to search

Use spaces to separate multiple search strings unless you use /c.

The command

findstr "Windows NT FAQ" ntfaq.html

would search for Windows, NT, or FAQ in ntfaq.html. The command

findstr /c:"Windows NT FAQ" ntfaq.html

would search for Windows NT FAQ in ntfaq.htm.

About the Author

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like