|
|
|
|
|
для: Trianon
(15.02.2009 в 01:14)
| | >Значит только руками перед запуском файла.
Руками перед запуском файла тоже не идет. Нужно отказаться от эстетики, ради производительности. Да так даже и лучше. Кто-нибудь заглянет в консоль и совершенно не поймет, что я там ищу в базе.
Спасибо вам большое за ваше терпение. Все, иду спать. | |
|
|
|
|
|
|
|
для: Лена
(15.02.2009 в 01:05)
| | Да... действительно, эта зараза 65001 тут же приводит к тому, что бат-файт прекращает работу...
Значит только руками перед запуском файла.
Но опять же - чисто для эстетики. Так смысл невелик.
Важнее кодировка самого файла. | |
|
|
|
|
|
|
|
для: Trianon
(15.02.2009 в 00:42)
| | Я эту lucida console уже намертво себе поставила, там еще пунктик есть - "Сохранить свойства для других окон..." И все равно нет.
Я думаю, что я неправильно сохраняю пакетный файл. Открываю блокнот, вставляю ваш код, сохраняю: в имя файла дописываю расширение bat, в типе выставляю "Все файлы" и кодировка UTF8. В консоле вижу только вот это:
C:\WebServers\usr\local\mysql5\bin>п»ї
"п»ї" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
C:\WebServers\usr\local\mysql5\bin>chcp 65001
Текущая кодовая страница: 65001
|
Команды вообще не работают. | |
|
|
|
|
|
|
|
для: Лена
(15.02.2009 в 00:36)
| | а если руками сперва переключить?
Опять же lucida console должна стоять! | |
|
|
|
|
|
|
|
для: Trianon
(15.02.2009 в 00:02)
| | >можно было написать честно
Так не выходит. Честность не всегда вознаграждается :) | |
|
|
|
|
|
|
|
для: Лена
(14.02.2009 в 23:53)
| | Оболочка кириллицу не видит, что очень наглядно показано на приведенном Вами скриншоте.
Да ей и не нужно.
Оболочка - это ж только экран с клавиатурой.
А на время исполнения дампа и грепа ни то ни другое не применяется.
Но в командный файл можно было написать честно (в кодировке utf8):
пустая строка
chcp 65001
mysqldump -h localhost -u root --skip-extended-insert drupal | grep -n -i "Читать далее" 1>res.txt
chcp 866
|
И тогда было бы совсем без кракозябр. | |
|
|
|
|
|
|
|
для: Trianon
(14.02.2009 в 23:10)
| | >специальный признак
почитала, их еще называют "три невидимых байта".
Получилось. В консоли вот такое:
C:\Documents and Settings\Администратор>cd C:\WebServers\usr\local\mysql5\bin
C:\WebServers\usr\local\mysql5\bin>chcp 1251
Текущая кодовая страница: 1251
C:\WebServers\usr\local\mysql5\bin>res.bat
C:\WebServers\usr\local\mysql5\bin>п»ї
"п»ї" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
C:\WebServers\usr\local\mysql5\bin>mysqldump -h localhost -u root --skip-extende
d-insert drupal | grep -n -i "Читать далее" 1>res.txt
|
Не понятно еще вот что. Мы переводим консоль в кодировку 1251, чтобы различать кириллицу, на которой пишется поисковая фраза. Командный файл составляем, допустим, в блокноте и сохраняем его с кодировкой utf8. Далее из консоли вызываем bat-файл, одну за другой исполняем команды, и тут в grep поисковая фраза уже в кодировке utf8. Как же тогда оболочка видит кириллицу? | |
|
|
|
|
|
|
|
для: Лена
(14.02.2009 в 23:01)
| | блокнот в начале файла ставит специальный признак, если Вы сохраняете файл в UTF-8 .Так называемый Byte Order Mark .
Если он окажется перед командой - он её испортит.
А если на отдельной строке - испортит только эту отдельную строку.
По хорошему его стоило бы удалить из файла.
Но в принципе, кроме сообщения "xxx" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. он ничем не грозит. | |
|
|
|
|
|
|
|
для: Trianon
(14.02.2009 в 22:46)
| | >Правда первую строку стоит сделать пустой.
Зачем? | |
|
|
|
|
|
|
|
для: Лена
(14.02.2009 в 22:40)
| | написать файл можно текстовым редактором, который умеет писать в utf8 .
К таким относится даже примитивный блокнот. Правда первую строку стоит сделать пустой. | |
|
|
|
|