This should work (FINDSTR
splits the search string at spaces, so it looks for either word).
findstr "error warning" C:\MyFiles\*.txt
As should this equivalent search:
findstr /c:"error" /c:"warning" C:\MyFiles\*.txt
However, there is this bug: Why doesn't this FINDSTR example with multiple literal search strings find a match?. I'm not sure if the above searches would meet the criteria that specify when the bug might affect the results. (I'm not sure if there enough overlap between the search strings.) But better to be safe than sorry.
You can eliminate the possibility of the bug by either making the search case insensitive (not sure if that meets your requirements or not):
findstr /i "error warning" C:\MyFiles\*.txt
or you can convert your search strings into regular expressions. This is trivial to implement in your case since there are no regex meta-characters that need escaping in your search strings.
findstr /r "error warning" C:\MyFiles\*.txt