|
Модераторы: korob2001, ginnie |
|
BCC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 22.1.2019 Репутация: нет Всего: нет |
Как получить русские названия файлов из командной строки через @ARGV?
Скрипт должен запускаться под Windows с помощью командного файла, содержащего следующую команду: perl script.pl %1 Предполагается, что параметр задаётся с помощью перетаскивания в проводнике названия файла на этот командный файл. Сейчас скрипт выглядит:
В результате получается (копия из окна cmd): C:\BCC\Develop\Perl\Learn\RusCmd>perl RusCmd.pl C:\BCC\Develop\Perl\Learn\RusCmd\бв.txt Привет! "\x{00e1}" does not map to cp866 at RusCmd.pl line 10. "\x{00e2}" does not map to cp866 at RusCmd.pl line 10. C:\BCC\Develop\Perl\Learn\RusCmd\\x{00e1}\x{00e2}.txt Возможно, я пропустил нужное обсуждение, но по-моему обсуждался только вывод на консоль русских букв, а мне нужен ввод Это сообщение отредактировал(а) BCC - 22.1.2019, 11:28 |
|||
|
||||
BCC |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 22.1.2019 Репутация: нет Всего: нет |
Прошу прощения за беспокойство, ответ нашёлся в http://forum.vingrad.ru/forum/topic-383151...%D0%B0-utf.html
решение:
выдаёт: 1251: C:\BCC\Develop\Perl\Learn\RusCmd\бв.txt А работать с файлом надо БЕЗ перекодировки имени:
Добавлено через 1 минуту и 25 секунд Вопрос можно считать исчерпанным |
||||
|
|||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
А если консоль в UTF-8 ?
|
|||
|
||||
BCC |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 22.1.2019 Репутация: нет Всего: нет |
Теоретически, поскольку в скрипте было
то при получении информации из ARGV перекодировка не нужна, а при открытии файла его имя надо перекодировать в системную кодировку (cp1251) Но это надо проверить! |
||||
|
|||||
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |