Мне нужно написать командную строку в командной строке, которая ссылается на файл, содержащий имя в имени, но я не могу понять, как это правильно. В Windows должна быть установлена кодовая страница win1252, а в командной строке - oem850.

Конкретное имя файла:

Förändringar.txt

Я смог использовать dir /x чтобы получить короткое имя файла 8.3 и использовать его, но это мешает мне быть неспособным получить правильное длинное имя ...

Обновить:

Комментарии привели меня к выводу, что это не проблема с командной строкой (cmd.exe чтобы уточнить). Кажется, это проблема с конкретным консольным приложением, которое я пытался запустить (gfix.exe из менеджера баз данных Firebird). Очевидно, он не может правильно преобразовать аргументы командной строки из кодовой страницы консоли во все, что нужно для внутреннего использования.

1 ответ1

-1

Обычная командная строка в Windows - CMD.EXE. Это программа Unicode. В Юникоде нет необходимости в таких вещах, как "Win1252" и "OEM850".

Я подозреваю, что вы используете пакетные файлы, поскольку они могут быть не в Юникоде. CMD.EXE будет понимать пакетные файлы, которые не в Unicode, но избегать их при использовании символов не ASCII. Просто используйте пакетные файлы Unicode.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .