Board logo

标题: 转贴:ANSI.SYS程序的使用 [打印本页]

作者: lydong     时间: 2003-2-23 00:00    标题: 转贴:ANSI.SYS程序的使用
我们有时会希望DOS能够显示出不同的显颜色或者其它功能,我们在DOS启动时载入ANSI.SYS,它可以帮我们实现这些功能,下面是它的使用方法:
------------------------------

ANSI.SYS程序的使用
ANSI.SYS是MS-DOS中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果。那么,它该如何使用呢?下面就来介绍一下。
注意:在本节中,语法和 ANSI 转义序列中的大写字母必须按原样键入。

ANSI.SYS 定义了一系列函数,这些函数被用来改变显示图形、控制光标移动和键的重定义,ANSI.SYS 设备驱动程序支持转义序列的 ANSI
终端仿真,以便控制系统的屏幕和键盘。

该设备驱动程序必须由位于 CONFIG.SYS 文件中的DEVICE或DEVICEHIGH命令加载。

语法

DEVICE(HIGH)=ANSI.SYS

参数


指定 ANSI.SYS 文件的位置。

选项

/X
重新映射 101 键键盘以外的扩展键。

/K
使 ANSI.SYS 文件将 101 键键盘当作 84 键键盘看待,这等价于命令 SWITCHES=/K。如果您通常使用
SWITCHES=/K命令,那么在使用ANSI.SYS 时,则需要使用选项 /K。

/R
当 ANSI.SYS 与屏幕阅读程序(该程序使残疾人更易于使用计算机)一起使用时,此选项用来调整行的滚动,以便提高可读性。

在 ANSI 转义序列中使用的参数:

Pn
数字参数,用来指定一个十进制数。

Ps
可选参数。指定一个十进制数,用于选择函数。您可以指定多个函数,必须用分号 (<img src="images/smilies/face-wink.png" align="absmiddle" border="0"> 将参数隔开。

PL
行参数。指定一个十进制数,它代表显示器或其它设备上的一行。

Pc
列参数。指定一个十进制数,它代表屏幕或其它设备上的一列。

ANSI 转义序列中关于光标移动、图形和键盘的设置:

在下面的 ANSI 转义序列的列表中,缩写 ESC 代表 ASCII转义字符 27(1Bh),它位于每个转义序列的开始。

ESC






























































































































































93 125 29 0;27
92 124 28 0;43
; 59 58 -- 0;39
' 39 34 -- 0;40
, 44 60 -- 0;51
. 46 62 -- 0;52
/ 47 63 -- 0;53
` 96 126 -- 0;41
通常,在DOS提示符下按ESC键时,屏幕会显示一个反斜杠(\)并把光标移到下一行.这时可以使用PROMPT命令.假如现在DOS提示符是$P$G,想要清屏,就可键入:
PROMPT=$E


作者: LanE     时间: 2003-2-23 00:00
又是Wengier老大的吧?
以前我找过很长时间都没有找到,找到后怎么就这么容易发现了呢??

作者: lydong     时间: 2003-2-24 00:00
是吧,我以前就用过ANSI.SYS,但一直没有找到详细的介绍资料,只能自己乱搞。后来看到这篇文章不错,立即把它收藏了起来

作者: lydong     时间: 2003-2-24 00:00    标题: 在DOS下的时间提示
DOS下的时间提示

若你想在屏幕上任何专访用明快的前面色显示日期和时间,可将下面的文件录入

并存在TIMER,BAT文件中.

@E CHO OFF
IF "%1"==""GOTO HELP
GOTO OK
:HELP
ECHO SYNTAX:TIMER A B C D
ECHO A=TEXT COLOR 30=BLACK 31=RED
ECHO 32=GREEN 33=YELLOW
ECHO 34=BLUE 35=MAGENTA
ECHO 36=CYAN 37=WHITE
ECHO B=BACKGROUND 40=BALCK 41=RED
ECHO 42=GREEN 43=YELLOW
ECHO 44=BLUE 45=MAGENTA
ECHO 46=CYAN 47=WHITE
ECHO C=R NUMBER
ECHO D=COLUMN NUMBER
GOTO EXIT
:OK
PROMPT $P$G$E










作者: LanE     时间: 2003-2-27 00:00
建议楼上文章单独一帖

作者: lydong     时间: 2003-2-28 00:00
你说的也对,不过我是想把它做为ANSI使用方法的一个应用例子,用来说明ANSI的用法的一个例子。

作者: LanE     时间: 2003-3-2 00:00
可是改变屏幕颜色毕竟比使用ANSY.SYS听起来更诱人一些

作者: LanE     时间: 2003-3-2 00:00
可是改变屏幕颜色毕竟比使用ANSY.SYS听起来更诱人一些

作者: Roy     时间: 2003-3-3 00:00
楼顶的好像是由Windows98讀我檔转贴來的

作者: LanE     时间: 2003-3-3 00:00
呵呵
好象是
windows的系统目录下的*.txt文件里面有很多的好动西的

作者: 阿海     时间: 2003-4-10 00:00
我想请问大侠:如何设置文件名的颜色,如:.SYS用蓝色表示,.ZIP的用黄色表示等等

作者: Wengier     时间: 2003-4-10 00:00
以下是引用阿海在2003-4-10 23:00:48的发言:
我想请问大侠:如何设置文件名的颜色,如:.SYS用蓝色表示,.ZIP的用黄色表示等等


最好的方法是用SuperDIR,可在网站的“文件工具”中下载。

作者: 阿海     时间: 2003-4-10 00:00
但是SDIR不支持中文

作者: Wengier     时间: 2003-4-10 00:00
先启动DOS汉字系统,例如UCDOS、CCDOS97等,再运行SDIR就支持中文了。

作者: 阿海     时间: 2003-4-10 00:00
不行,我试过了,无法显示

作者: Wengier     时间: 2003-4-10 00:00
我刚才试了在CCDOS97用SDIR显示中文,结果一切正常,包括中文长文件名。UCDOS也许是不行。

作者: electronixtar     时间: 2006-5-25 21:43
最近研究ntldr的颜色,特顶陈年老贴!

再问大家几个问题:
1好像n多的启动盘都不device那个ansi.sys?
2.XP中systen32\ansi.sys的版本是多少?
3.转义字符怎么输入啊?我高了半天发现按 Ctrl+[ 或 Alt+27 都和 Esc 的作用一样:清除正在输入的这一行
4.再XP中的config.nt中怎么设置才能使cmd支持ansi.sys啊?

作者: willsort     时间: 2006-5-26 09:43
Re electronixtar:

1、Wengier的超级启动盘中应该有一个ANSI.COM,在CONFIG.SYS和命令行中都可加载,而且体积减小到了4K,没有试用过,不过猜想基本功能应该齐全。

2、ANSI.SYS没有独立的版本号,几个系统下的版本差别不是很大。另外,它们都支持六个开关参数:/X /K /R /L /S /SCREENSIZE,其中后三个未见于官方文档。
MS-DOS6.22 9065/1994-08-29
MS-DOS7.10 9703/1999-05-05
XP-5.1.2600 9143/2005-12-15

3&4.请参考

5、NTLDR应该是独立ANSI转义系列,与ANSI.SYS无关。

(已结)谁知道控制echo显示字串的颜色
http://www.cn-dos.net/forum/viewthread.php?tid=16292#pid96462