活用Echo命令的功能

Author: 汕头 何管略 Date: 1992-11-27

        Echo命令的格式为
        [@]Echo[.] [on|off] [Textl
        (1)前后不带任何参数的Echo命令,报告系统对DOS提示符和命令本身有无回应显示的状态。在Bat程序中,可由参数on或off来设定。当Bat程序运行结束时,系统会自动设置为:Echo on。
        (2)在Bat程序中运行Echo off命令,可以控制此后的DOS提示符和命令字符不显示,但对于当前行的信息,系统仍会完整地显示在屏幕上。为了避免这种“事与愿违”的现象,可以键入@ Echo off其功能可解释为:从当前行开始,运行Echo off命令;但是此项功能,也只在Bat程序中方才有效,而在DOS命令行中,系统是不予接受的。
        (3)要在屏幕上显示空行,可用Echo.命令。注意:Echo和字符之间,不能留有空格,而且句号后面,必须全部留空。否则,Echo命令会把它们作信息Text,在屏幕上逐个显示出来。
        (4)Echo命令能够显示的Text,包括各类字符和汉字,而且对字母的大、小写,它都能够严格区分。但是,它对I/O重定向操作符<和>,以及管道操作符|,却不予照样显示;此时Bat程序直接运行与该字符相应的操作。因此,如在Echo命令后面的Text中,包含有这类操作符的话,运行结果势将难以预料。
        (5)大家知道,AnsI换码序列的功能,是通过控制字元Esc来实现的;而该键的ASCII码,不能在DOS的命令行中保存,所以无法直接获得。但是,它却可以放在Echo命令的Text中,通过运行Bat程序,来实现相应的功能。例如,要将功能键F10,设定为Dir/w命令,我们可在Bat程序中写入Echo"←[0;68;"dir/w";13p只要运行一次,这个换码功能,就得到实现。
        上述字符“←”,是借用汉字图符打印出来的;实际上,它代表换码控制字元Esc的AscII码,在屏幕上显示的,应是单字符。
        这个字符比较特殊,许多文字编辑软件,都跟DOS的命令行一样,键入时就立即执行它的取消功能,而不保存它的AscII码。我们编程测试时,是用PC Shell 7.0的文字编辑器。通过Alt+27组合键,从数字小键盘获得的。当然,这项功能,也可用下列DOS命令Prompt $e[0;68;"dir/w";13p来实现,各有优、缺点,在此不赘。