FINDSTR does not properly read or search any form of unicode. It works exclusively with single byte ANSI (extended ASCII) encodings.
But it is possible to treat your UTF-8 file as extended ASCII and accomplish your search, though it will not print the result to the console properly.
The trick is to place your search string in another UTF-8 file. For this example let's say the search string is stored in "find.txt" with UTF-8 encoding (no BOM).
for %%a in ("\\%ip%\Print\*.txt") do findstr /g:find.txt "%%a"
FINDSTR will not understand the multi-byte unicode codepoints, but instead it will interpret each byte as a character. Any multi-byte unicode codepoints will be printed to the console incorrectly, but the correct matching lines will be printed.
If you redirect the output to a file, then the resultant file will have the correct UTF-8 encoding.
Note that you must use the /G:file
option. You cannot use the /C:"string"
option because FINDSTR improperly interprets command line arguments that contain byte values above 0x80. See the section titled Character limits for command line parameters - Extended ASCII transformation at What are the undocumented features and limitations of the Windows FINDSTR command? for more information.