4

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>
ryanjohnsond
  • 343
  • 2
  • 8
  • 19

3 Answers3

4

"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

0xGiddi
  • 324
  • 1
  • 11
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.

Magoo
  • 72,034
  • 7
  • 58
  • 78
0

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

Zimba
  • 2,051
  • 15
  • 21