Ничего у меня не получается с UTF-8.
Я сделал bat-file в кодировке "UTF-8 без BOM" (как и положено) - из ASCII-txt-файла путём сохранения его в программе AkelPad (единственное, что я нашёл; NotePad++ некорректно сохраняет) в bat-file. Пишет следующее:
У меня точно так же получалось. Я понял, тут дело вот в чем. Если эти же команды вы прокрутите на unix, то все сработает. А вот в Виндовс, из-за того, что имена файлов кодируются не в ютф-8, а в ютф-16, - программа не может различить: или же введенное в команде имя файла - это обычная побайтовая кодировка, по байту на символ, или же это ютф-8 - от одного до нескольких байт на символ.
В принципе, и так нормально. Но если б Леон захотел исправить, то путь только такой: добавить специальный флажок к командам, скажем -w, который будет означать, что мы находимся в виндовс и имена файлов закодировали в ютф-8. А потом, где-то в конце, перед обращением к API Виндовса, отвечающим за работу с файлами, программа должна перевести эту строку ютф-8 в ютф-16, вызвав функцию API MultiByteToWydeChar. А без этого флажка все должно работать по-прежнему (для совместимости с прежними программами), то есть имена файлов должны восприниматься, как закодированные в аскии.