Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - Esc-последовательности в BAT-файлах (ansi.sys)

Ответить
Настройки темы
Разное - Esc-последовательности в BAT-файлах (ansi.sys)

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет!
Есть проблема с программированием BAT-файла. Нужно сделать красивое оформление - цвета, текст по центру экрана и пр. Делается это с помощью Esc-последовательностей (описаны например здесь: http://www.opennet.ru/docs/BSD/pascal/syscons/ansi.html). Чтобы они обрабатывались, нужна поддержка драйвера ANSI.SYS. В Win98 он вроде как использовался по умолчанию, но в WinXP изначально он не подключен. Тем не менее, этот файл есть в Windows\System32. Инструкция по подключению везде одна и та же, вот например: http://www.windowsnetworking.com/kba...siSupport.html. Но проблема в том, что ничего не получается. Сделал всё, как написано - вроде драйвер подключился (хотя как проверить?). Но при запуске BAT, где есть такие Esc-последовательности, никакой реакции: просто выводит на экран текст "Esc[...". В чём проблема - не понимаю. В методичке, которую дали в универе, написано примерно то же самое. Но не работает... Может кто-нибудь подскажет, в чём именно проблема, и как выйти из ситуации?

Отправлено: 17:22, 15-11-2008

 

Аватара для Drinko

Советник


Moderator


Сообщения: 2259
Благодарности: 530

Профиль | Сайт | Отправить PM | Цитировать


AndreyY89,

http://search.microsoft.com/Results....E2&l=2&x=0&y=0

-------
Форум Цифровое изображение | Windows 8.1 | Windows 10
-------
Во имя ALTа, CTRLа и святого DELETE
Enter


Отправлено: 17:58, 15-11-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Moderator


Сообщения: 53218
Благодарности: 15446

Профиль | Отправить PM | Цитировать


AndreyY89, вам нужен .bat или .cmd?
Потому что в .cmd цвет задается командой Color.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:12, 15-11-2008 | #3


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Н-да... Ответ от MS не утешил: cmd не поддерживает этот драйвер
А может есть какие-нибудь альтернативы? Просто батники по умолчанию запускаются именно через cmd, а не через command.com...

Кстати, если уж через command.com - как в батнике писать Esc? На $e не реагирует, как они написали в примере - только при вызове prompt.

Petya V4sechkin, color задаёт цвет фона и цвет текста. Это хорошо, но этого мало. А ANSI.SYS поддерживает ещё кучу всего интересного.

Отправлено: 18:16, 15-11-2008 | #4


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Попробую использовать Norton Batch Enhancer в качестве альтернативы. Вроде он работает независимо.

Отправлено: 19:02, 15-11-2008 | #5


Новый участник


Сообщения: 13
Благодарности: 1

Профиль | Отправить PM | Цитировать


Доброго времени суток. Сколько не пробовал - не получается средствами командной строки (bat- или cmd-файлы) изменить цвет/размер шрифта или цвет фона; пытался сохранять результат в *.txt и *.rtf, при этом готовил исходник в форматированном виде, чтобы в исполняемом файле сохранились необходмые мне параметры.
Например, bat-файл диагностики сетевого оборудования - хотелось бы, чтобы в логе положительный (+OK+) и отрицательный (-ALARM!!!-) результаты отличались размером и цветом шрифта. У кого-то это получалось?

@ECHO OFF

date /T >D:\Diagnostic\%date%.rtf
time /T >>D:\Diagnostic\%date%.rtf
echo Server >>D:\Diagnostic\%date%.rtf
echo 192.168.1.1>>D:\Diagnostic\%date%.rtf
C:\windows\system32\ping 192.168.1.1 -n 2
if not errorlevel 1 echo +OK+ >>D:\Diagnostic\%date%.rtf
if errorlevel 1 echo -ALARM!!!- >>D:\Diagnostic\%date%.rtf
echo ******************* >>D:\Diagnostic\%date%.rtf

Что касается команды color, то, насколько я знаю, она меняет цвет в шрифте/фоне окна командной строки (то есть только при вызове cmd.exe)

Отправлено: 21:19, 24-01-2012 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Начнём с конца…

Цитата Denis-reut:
Что касается команды color, то, насколько я знаю, она меняет цвет в шрифте/фоне окна командной строки (то есть только при вызове cmd.exe) »
Она может применяться и непосредственно в пакетном файле. Минус её в том, что меняются атрибуты открытой консоли в целом.

Я рекомендую попробовать внешнюю утилиту «EchoX.exe» из комплекта Bill Stewart's Site - Shell Scripting Toolkit. Она заметно расширяет возможности встроенной команды «echo» (пример раз, пример два).

Либо перейти на PowerShell — там сие поддерживается изначально.

Цитата Denis-reut:
У кого-то это получалось? »
Угу. Можно и ANSI.SYS задействовать. Единственное, что мне не нравится в этом подходе — inline директивы вносят лишнюю сумятицу в строки. Зато в комплекте.

P.S. Если хотите цвет именно в файле — делайте вывод в HTML.

Отправлено: 00:21, 25-01-2012 | #7


Новый участник


Сообщения: 13
Благодарности: 1

Профиль | Отправить PM | Цитировать


Добрый вечер. Использование html-страниц - неплохая идея! Сейчас попробую...

Отправлено: 20:10, 28-01-2012 | #8


Новый участник


Сообщения: 43
Благодарности: 5

Профиль | Отправить PM | Цитировать


ansicon 1.50 спасет отца любителей ESC последовательностей

Отправлено: 07:05, 16-03-2012 | #9



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - Esc-последовательности в BAT-файлах (ansi.sys)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - hiberfil.sys и pagefile.sys - что это такое??? Guest Microsoft Windows 2000/XP 12 07-07-2013 01:34
Ошибка - Антивирусная прога и файлы hiberfil.sys, pagefile.sys и cryptheft.dll мибокс Microsoft Windows 2000/XP 3 18-08-2008 14:45
Разное - [решено] Увеличился размер файлов pagefile.sys и hiberfile.sys geleta Microsoft Windows 2000/XP 11 11-09-2007 10:34
CMD/BAT - [решено] Кириллица в cmd и bat файлах vagner_HATE Скриптовые языки администрирования Windows 4 05-04-2005 15:55
Config.sys Autoexec.bat UTU Хочу все знать 20 09-12-2004 08:07




 
Переход