findstr

C++
Just specify all posible files names in current directory with regex *:
findstr string_to_search *# EXAMPLE: display the files (within the given folder) that contain the text "+renew"
findstr /n /l "+renew" "C:\Users\LongW\*"

# SYNTAX
# findstr <options-if-any> "<string-to-find>" "<path(s)-to-search>"
  
#+---------+---------------------------------------------------------------
#| OPTION  |  DESCRIPTION
#+---------+---------------------------------------------------------------
#|   /b    |  Matches the text pattern if it is at the beginning of a line.
#|   /e    |  Matches the text pattern if it is at the end of a line.
#|   /l    |  Processes search strings literally.
#|   /r    |  Processes search strings as regular expressions. This is the default setting.
#|   /s    |  Searches the current directory and all subdirectories.
#|   /i    |  Ignores the case of the characters when searching for the string.
#|   /x    |  Prints lines that match exactly.
#|   /v    |  Prints only lines that don't contain a match.
#|   /n    |  Prints the line number of each line that matches.
#|   /m    |  Prints only the file name if a file contains a match.
#|   /o    |  Prints character offset before each matching line.
#|   /p    |  Skips files with non-printable characters.
#+---------+---------------------------------------------------------------

# https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/findstrFind strings with case-insensitive search using -i flag as follows:
findstr -i "Case_insensitive_substring"
For example:
dir | findstr -i "Case_insensitive_file_name"# EXAMPLE: display the files (within the given folder) that contain the text "+renew"
findstr /n /l "+renew" "C:\Users\LongW\*"

# SYNTAX
# findstr <options-if-any> "<string-to-find>" "<path(s)-to-search>"
  
# OPTIONS'  
# /b  Matches the text pattern if it is at the beginning of a line.
# /e  Matches the text pattern if it is at the end of a line.
# /l  Processes search strings literally.
# /r  Processes search strings as regular expressions. This is the default setting.
# /s  Searches the current directory and all subdirectories.
# /i  Ignores the case of the characters when searching for the string.
# /x  Prints lines that match exactly.
# /v  Prints only lines that don't contain a match.
# /n  Prints the line number of each line that matches.
# /m  Prints only the file name if a file contains a match.
# /o  Prints character offset before each matching line.
# /p  Skips files with non-printable characters.

# https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/findstr
# EXAMPLE: display the files (within the given folder) that contain the text "+renew"
findstr /n /l "+renew" "C:\Users\LongW\*"

# SYNTAX
# findstr <options-if-any> "<string-to-find>" "<path(s)-to-search>"
  
# OPTIONS'  
# /b  Matches the text pattern if it is at the beginning of a line.
# /e  Matches the text pattern if it is at the end of a line.
# /l  Processes search strings literally.
# /r  Processes search strings as regular expressions. This is the default setting.
# /s  Searches the current directory and all subdirectories.
# /i  Ignores the case of the characters when searching for the string.
# /x  Prints lines that match exactly.
# /v  Prints only lines that don't contain a match.
# /n  Prints the line number of each line that matches.
# /m  Prints only the file name if a file contains a match.
# /o  Prints character offset before each matching line.
# /p  Skips files with non-printable characters.

# https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/findstrJust specify /S to search in all subfolders and match all files with regex *:
findstr /S string_to_search *
Source

Also in C++: