PDA

Показать полную графическую версию : [решено] Рекурсивный поиск файла


Страниц : 1 2 [3]

Creat0R
05-02-2010, 12:50
Объясните, пожалуйста, про ключ /U . В справках ничего про него не нашел »
Набери в «Выполнить» (Win+R):

cmd.exe /?

Sp01LeR
05-02-2010, 14:49
вобще-то в консоли можно задать почти любую кодировку:

"cmd.exe chcp 65001" (utf-8)
"cmd.exe chcp 65000" (utf-7)
"cmd.exe chcp 28595" (ISO-8859-5 - кирилица)
"cmd.exe chcp 20866" (KOIR-8 - русская)

Creat0R
05-02-2010, 15:20
в консоли можно задать почти любую кодировку »
Почитай предыдущую страницу ;)

Sp01LeR
05-02-2010, 17:12
Почитай предыдущую страницу »

читал, но подумал, что такая проблема только у батника - теперь понял, что в STDOUT буфер всеравно идет в OEM-кодировке...

amel27
05-02-2010, 18:39
в STDOUT буфер всеравно идет в OEM-кодировке »
разве только сменить кодировку по умолчанию... ;)
Разное - [решено] Сбилась кодировка командной строки (http://forum.oszone.net/thread-133647.html)

Sp01LeR
05-02-2010, 21:01
amel27, у меня этих проблем с ветками в реестре не было - chсp выдавало кодовую страницу 866...

изменив значение параметра "CodePage" на "4e3" (кодовая страница 1251) AutoIT берет с буфера STDOUT вместо OEM - ANSI!!! :yes:
Потом проверял с поменяв значение на "fde9":
и на MsgBox() и на записи в файл в кодировке ANSI - выводит знакомые ютээфовские крякозяблы типа

Содержимое

PS: и еще, в том топике утверждали, что после создания параметра "CodePage" нужно ребутнуть винду - но у меня все работает и без перезагрузки...

amel27
06-02-2010, 05:08
изменив значение параметра "CodePage" на "4e3" (кодовая страница 1251) AutoIT берет с буфера STDOUT вместо OEM - ANSI!!! »
главное, не забыть вернуть обратно... а то будет как в указанном топике... :)

в том топике утверждали, что после создания параметра "CodePage" нужно ребутнуть винду - но у меня все работает и без перезагрузки »
для наших задач перезагрузки не треба... :)

Iska
06-02-2010, 11:38
У меня работало так (относительно требования перезагрузки):
1) после установки значения параметра:
[HKEY_CURRENT_USER\Console]
"Codepage"=dword:000004e3
и запуска cmd.exe, «chcp» выдавало положенное «Текущая кодовая страница: 1251»;
2) после удаления параметра «HKEY_CURRENT_USER\Console\Codepage» и запуска cmd.exe, «chcp» выдавало всё то же «Текущая кодовая страница: 1251»;
3) после установки значения параметра:
[HKEY_CURRENT_USER\Console]
"Codepage"=dword:00000362
и запуска cmd.exe, «chcp» выдавало положенное «Текущая кодовая страница: 866»;
4) после удаления параметра «HKEY_CURRENT_USER\Console\Codepage» и запуска cmd.exe, «chcp» продолжало выдавать «Текущая кодовая страница: 866».

То бишь, перезагрузка (а, правильнее, — завершение сеанса) требуется для того, чтобы вернуть умолчальную кодовую страницу 866 в том случае, когда в «HKEY_CURRENT_USER\Console» (ну, или в соответствующей файлу приложения ветви реестра, например, «%SystemRoot%_system32_cmd.exe») после удаления отсутствует параметр «Codepage».

Похоже на то, что в случае удаления параметра «Codepage» берётся последнее прочитанное оттуда и запомненное значение (2-й и 4-й рассмотренные выше этапы). Так что, вместо завершения сеанса достаточно после экспериментов добавить соответствующий кодовой странице «866» параметр «Codepage», запустить «cmd.exe» (чтобы «запомнилось» текущее значение кодовой страницы — без этого у меня не срабатывало; где и как «запомнилось» ;) — не спрашивайте, сам не знаю), выйти из этого «cmd.exe». После этого можно смело удалять параметр «Codepage» из реестра — последующие запуски «cmd.exe» будут происходить с этим самым «запомненным» значением кодовой страницы, в рассмотренной методике — «866». Ну, а после рано или поздно произведённой перезагрузки, при отсутствии в реестре параметр «Codepage», само собой, должна восстановиться кодовая страница по умолчанию.

Вот как сие выглядит у меня.




© OSzone.net 2001-2012