Моя конечная цель - установить на сервере Windows скрипт, который будет находить любые файлы в заданной папке, содержащие непечатные символы, отличные от ASCII, и перемещать эти файлы в другую папку.
Чтобы найти файлы, я подумал, что могу использовать что-то вроде этого, но это не работает:
findstr /m /r /c:"[^\x20-\x7e\r\n]" *.txt
Чтобы упростить задачу, скажем, у меня есть два текстовых файла, 1.txt и 2.txt, которые содержат "abcdefg" и "defghijk" соответственно. Эта команда вернет "2.txt" в выводе, как и ожидалось:
findstr /m /r /c:"[^a-g]" *.txt
Однако замена шестнадцатеричных кодов \x61 и \x67 на «a» и «g» завершается неудачно без вывода:
findstr /m /r /c:"[^\x61-\x67]" *.txt
Не похоже, что вы можете использовать шестнадцатеричные значения в классе символов с помощью утилиты findstr. Как еще я могу достичь своей цели? Можно ли это сделать с помощью пакетных сценариев Windows?