'CMD Search a directory to Find a string inside a file

I need to find the files in a directory that have specific strings, using Windows CMD prompt.

E.g., I need to find the files that have a string like this:

<h1>Select an Item</h1>


Solution 1:[1]

"findstr" iswhat you are looking for.

findstr /I "<h1>Select\ an\ Item</h1>" *.*

findstr is the command, /I is a flag to match the string case insensitive. "<h1>Select\ an\ Item</h1>" is your string (note the escaped spaces!) and *.* means "in all files in this directory".

The basic syntax is findstr "seachString" filename.ext. You may replace filename.ext with *.ext or *.* to filter cretin file types or look in all files. This will look only in the current directory and not recursively.

More information about the command findstr documentation

Solution 2:[2]

The command you require is fundamentally findstr.

type

findstr /?

at the prompt for directions.

The command that may work for you is

findstr /m /g:"a file containing your string or strings" *

or

findstr /m /L /c:"<h1>Select an Item</h1>" *

Where some experimentation with the contents of the "quoted string" may be required, especially wrt characters line <>() and others with a particular meaning to cmd.exe.

Solution 3:[3]

Find some string inside all text files in current directory:

cls & for %i in (*.txt) do find /i "search text" < "%i" && (echo : %i & echo -)

Tested in Win 10

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 0xGiddi
Solution 2 Magoo
Solution 3