Существует ли инструмент, доступный для Windows (командная строка, gui, сценарий, и т.д.), который может рекурсивно вызвать каталог и определить все файлы, закодированные как UTF-16?
Медленный путь состоял бы в том, чтобы взять любую утилиту преобразования и выполнить ее против всех файлов в каталоге. Те файлы, преобразованные успешно от UTF-16 до другого формата, наиболее вероятны те, Вам нужно. Для той задачи можно выбрать доступный инструмент как Преобразователь Набора символов.
Или можно записать такой инструмент с помощью фрагмента кода C++ из этой статьи Conversion between Unicode UTF-16 и UTF-8 в C++ / Win32. Инструмент пользователя может быть оптимизирован для отказываний от первой ошибки преобразования и не сохранения преобразованного буфера в файл.