巧用ECHO命令

Author: 江苏 方新沪 Date: 1996-05-24

        1.“ECHO.”可以显示一个空行。注意:句号前不能有空格。如有,则显示句号。句号后不能再加别的字符,否则这些字符将照显不误。如在ECHO后先空一格,再按ALT+255(控制符数字用小键盘输入,下同)输入一个16进制值为FF的ASCII码空格符,也能显示一个空行。
        2.“ECHO ^G”可以使喇叭发声。^G在DOS提示符下用CTRL+G输入,在批处理文件中用ALT+7输入。
        3.“ECHO ^L>PRN”可使打印机换页。^L在DOS提示符下用CTRL+L输入,在批处理文件中用ALT+12输入。
        4.ECHO结合DOS反定向符号“〉”,也能象COPY CON那样,当作一个应急文字处理器使用。如你依次键入ECHO D:〉TT.BAT,ECHO CD\GAMES\TT> >TT.BAT,ECHO TT>>TT.BAT这3条命令,每条命令后都打回车,就建立了一个调用D盘GMAES\TT子目录下打字软件TT的批处理文件。要注意只能在输入第1句用符号“〉”,之后都要用“〉〉”,表示在原文件末尾加行,否则会将前面所有行清除。
        5.如你编了个中文批处理文件,要在往A盘备份前停一下,提示插某张软盘,你可这样写批处理:
        ECHO请插入工资管理备份盘,并按任意键继续。
        PAUSE〉NUL
        批处理在此照样停顿下来,提示中文,原英文提示被重定向到空设备NUL中,不再显示了。
        6.ECHO可扩展批处理变量。如你编写的字编辑批文件CC.BAT是:
        C:\>type cc.bat
        @ECHO OFF
        CLS
        ECHO正在调用CCED编辑文件《%1》.
        C:\>CCED\CCED %1
        用“CC文件名”的格式来进行文字编辑。假如要编的文件是“述职报告”,那么批文件第3句中的ECHO命令就将%1扩展为你的文件名,在屏幕上显示“正在调用CCED编辑文件《述职报告》”。
        7.ECHO也可扩展环境变量。为了不同的需要,笔者硬盘上同时装有中国龙、希望、天汇3种汉字系统,都是一按右SHIFT键,提示行就消失,有时就搞不清当前环境是西文,还是中文,正在使用的是哪一种汉字系统。常常是已有一个汉字系统在内存中,又去启动相同的或另一个汉字系统,造成系统混乱甚至死机。为解决这个问题笔者先在自动批处理文件中加入SET LANGUAGE=ENGLISH与SET DOSTYPE=MSDOS两条语句,分别将语言设为英文,DOS类型设为MSDOS。
        笔者启动UCDOS的批文件内容是:
        C:\BAT>TYPE UC.BAT
        @ECHO OFF
        CLS
        IF %LANGUAGE%==CHINESE GOTO ERROR
        LH C:\UCDOS\RD16
        LH C:\UCDOS\KNL
        LH C:\UCDOS\WB
        LH C:\UCDOS\PY
        SET LANGUAGE=CHINESE
        SET DOSTYPE=UCDOS
        GOTO END
        :ERROR
        ECHO %DOSTYPE% 已在内存中!
        GOTO END
        :END
        启动UCDOS后,2个SET语句分别将语言与中文DOS类型重新设为汉语与UCDOS。这样,万一再次误调汉字系统,清屏后的IF语句检测到变量LANGUAGE为CHINESE,得知内存中已有汉字系统,即转向标号ERROR,下面的ECHO语句就将环境变量DOSTYPE扩展为它的值,显示“UCDOS已在内存中!”并退回到DOS提示符下,从而阻止了汉字系统的再次启动。对其它的汉字系统的启动批处理文件也作类似处理。