快速业务通道

[推荐]批处理的教学第1/2页

作者 佚名 来源 批处理 浏览 发布时间 2013-07-09
DOS管道功能

DOS的管道功能是使一个程序或命令的标准输出用做另一个程序或命令的标准输入。如把DEBUG的输入命令写入文件AAA,用TYPE命令通过管道功能将AAA的内容传输给DEBUG,在DEBUG执行期间不再从控制台索取命令参数,从而提高了机器效率。命令为:C:\>TYPEAAA|DEBUG>BBB。

(三)子程序

在一个批处理文件可用CALL命令调用另一个子批处理文件,当子批文件执行结束后,自动返回父批文件,继续向下执行。如:A.BATB.BAT,A调用B,A.BAT内容如下:

@ECHOOFF
CALLB
CD\BASIC
BASICABG
@ECHOON

(四)菜单选择功能

DOS功能调用31H或4CH所提供的一字节的返回码,通过批处理子命令IF和ERRORLEVEL对返回码进行处理,可达到自动执行一批命令的目的。在批处理文件中实现高级语言所有的菜单提示功能,使批处理文件变得更灵活方便。先用DEBUG建立一个菜单驱动程序MENU.COM,对应地编写一个批处理文件LG.BAT。具体内容和方法见下表:

DEBUG
-A
-166C:0100MOVDX,111
-166C:0103MOVAH,09
-166C:0105INT21
-166C:0107MOVAH,01
-166C:0109INT21
-166C:010BMOVAH,4C
-166C:010DINT21
-166C:010FINT20
-166C:0111DB''******************************''0D0A
-166C:0131DB''*1.TurboPascal5.00*''0D0A
-166C:0151DB''*2.TurboBasci1.00*''0D0A
-166C:0171DB''*3.TurboProlog2.00*''0D0A
-166C:0191DB''*4.TurboC2.00*''0D0A
-166C:01B1DB''*0.Exit*''0D0A
-166C:01B1DB''******************************''0D0A
-166C:01F1DB''Yourchoice(0..4):''240D0A1A
-166C:0209
-RCX
CX0000
:108
-NMENU.COM
-W
Writing0108bytes
-Q
@ECHOOFF:
START
CLS
MENU
IFERRORLEVEL52GOTOC
IFERRORLEVEL51GOTOPRO
IFERRORLEVEL50GOTOBAS
IFERRORLEVEL49GOTOPAS
IFERRORLEVEL48GOTOEX
CLS
GOTOSTART
AS
CD\TP5.00
TURBO
CD\
GOTOSTART
:BAS
CD\TB
TB
CD\
GOTOSTART
RO
CD\TPROLOG
PROLOG
CD\
GOTOSTART
:C
CD\TURBOC
TC
CD\
GOTOSTART
:EX
@ECHOON


执行LG,屏幕左上角出现一个菜单,并提示用户输入选择,当选择的功能执行结束,重新返回主菜单请求选择,直到选择"0"号功能,程序结束返回DOS。

(五)应用命令处理程序完成大量重复工作

DOS提供调用次级命令程序的方法,可实现与子程序等效的功能,在MSDOS3.3以前的DOS版本下非常有用。如你有一批FORTRAN源程序需要编译,首先编写两个批文件MAKEOBJ.BAT、C.BAT,然后执行MAKEOBJ,即可把当前目录下的所有扩展名为.FOR的FORTRAN源程序编译成OBJ文件。这种方法迅速正确,人机交互少,减轻了程序员的的大量劳动。

MAKEOBJ.BATC.BAT
@ECHOOFF
ECHOCOMPILEFORTRANPROGRAMS.
FOR%%AIN(*.FOR)DOCOMMAND/CC%%A
ECHOFINISH!
@ECHOON@ECHOOFF
ECHO------COMPILE%1------
FOR1%1;>NUL
FOR2>NUL
@ECHOON

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号