Как записать имя файла Windows с символом в командной строке?
Мне нужно написать командную строку в командной строке, которая ссылается на файл, содержащий имя в имени, но я не могу понять, как это правильно. В Windows должна быть установлена кодовая страница win1252, а в командной строке - oem850.
Конкретное имя файла:
Förändringar.txt
Я был в состоянии использовать dir /x
чтобы получить короткое имя файла 8.3 и использовать его, но это мешает мне быть не в состоянии получить правильное длинное имя...
Обновить:
Комментарии привели меня к выводу, что это не проблема с командной строкой (cmd.exe
уточнить). Кажется, это проблема с конкретным консольным приложением, которое я пытался запустить (gfix.exe
из менеджера баз данных Firebird). Очевидно, он не может правильно преобразовать аргументы командной строки из кодовой страницы консоли во все, что нужно для внутреннего использования.
1 ответ
Обычная командная строка в Windows - CMD.EXE. Это программа Unicode. В Юникоде нет необходимости в таких вещах, как "Win1252" и "OEM850".
Я подозреваю, что вы используете пакетные файлы, поскольку они могут быть не в Юникоде. CMD.EXE будет понимать командные файлы, которые не в Unicode, но избегать их при использовании символов не ASCII. Просто используйте пакетные файлы Unicode.