您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > DOS批处理编程原理
DOS批处理编程原理报告人:日期:目录DOS概述DOS批处理的基本语法DOS批处理命令DOS批处理编程方法DOS概述DOS(DiskOperatingSystem)是一种面向磁盘的操作系统软件。是人与机器的一座桥梁,是设在机器硬件里面的一套人机交互系统。有了DOS,我们就不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥的机器命令。DOS的组成(小知识:可执行的程序文件有*.COM和*.EXE两种,一般来讲,*.EXE文件为软件执行程序,而*.COM文件则为命令程序)核心启动程序Boot系统引导程序基于MBR(MainBootRecord)的BOOT引导程序IO.SYSDOS环境控制输入输出的文件,不可以少MSDOS.SYS里面是一些启动参数,如:开机时是否显示菜单、开机时进行磁盘扫描、开机时是否显示LOGOCONFIG.SYS一个专业的系统启动配置文件,它主要用于加载内存管理程序、设置扩充内存及扩展内存、加载有关硬件驱动程序,设置有关环境变量等,为用户计算机的正常使用创造必要的用户环境COMMAND.COMDOS内部命令的程序代码存放在command.com文件中,它在DOS系统启动的时候随DOS的启动模块一起被调入计算机内存。AUTOEXEC.BATDOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如:path(设置路径)、smartdrv(磁盘加速)、mouse(鼠标启动)、mscdex(光驱连接)、doskey(键盘管理)、set(设置环境变量)等命令程序内部命令一些常用而所占空间不大的命令程序,如dir、cd等,它们存在于COMMAND.COM文件中,会在系统启动时加载到内存中,以方便调用。外部命令以单独的可执行文件存在,在使用时才被调入内存。DOS批处理的基本语法后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。DOS批处理的基本语法其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。DOS批处理的基本语法第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。纯以dos系统而言,可执行程序大约可以细分为五类,依照执行优先级由高到低排列分别是:DOSKEY宏命令(预先驻留内存),COMMAND.COM中的内部命令(根据内存的环境随时进驻内存),以com为扩展名的可执行程序(由command.com直接载入内存),以exe位扩展名的可执行程序(由command.com重定位后载入内存),以bat位扩展名的批处理程序(由command.com解释分析,根据其内容按优先级顺序调用第2,3,4,5种可执行程序,分析一行,执行一行,文件本身不载入内存)DOS批处理的基本语法第四,在DOS下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。AUTOEXEC.BAT为DOS系统的自动运行批处理文件,由COMMAND.COM启动时解释执行。DOS批处理命令常用命令echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令DOS批处理命令首先,@不是一个命令,而是DOS批处理的一个特殊标记符,仅用于屏蔽命令行回显.下面是DOS命令行或批处理中可能会见到的一些特殊标记符:*?文件通配符字符串界定符|命令管道符文件重定向符@命令行回显屏蔽符/参数开关引导符:批处理标签引导符%批处理变量引导符DOS批处理命令echo表示显示此命令后的字符echooff表示在此语句后所有运行的命令都不显示命令行本身@与echooff相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。call调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。pause运行此句会暂停批处理的执行并在屏幕上显示Pressanykeytocontinue...的提示,等待用户按任意键后继续rem表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。DOS批处理命令特殊命令ifgotochoicefor是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。DOS批处理命令一、if是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:1、if[not]参数==字符串待执行的命令参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。例:if%1==aformata:DOS批处理命令2、if[not]exist[路径\]文件名待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。如:ifexistc:\config.systypec:\config.sys表示如果存在c:\config.sys文件,则显示它的内容。DOS批处理命令3、iferrorlevel数字待执行的命令很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过iferrorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列,出现此种现象的原因是,iferrorlevel比较返回码的判断条件并非等于,而是大于等于.)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。如iferrorlevel2gotox2DOS批处理命令二、goto批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。gotoend:endechothisistheend标号用:字符串来定义,标号所在行不被执行。DOS批处理命令三、choice使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于iferrorlevel配合,根据用户的选择运行不同的命令。CHOICE[/Cchoices][/N][/CS][/Ttimeout/Dchoice][/Mtext]描述:该工具允许用户从选择列表选择一个项目并返回所选项目的索引。DOS批处理命令参数列表:/Cchoices指定要创建的选项列表。默认列表是YN。/N在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。/CS允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。/Ttimeout做出默认选择之前,暂停的秒数。可接受的值是从0到9999。如果指定了0,就不会有暂停,默认选项会得到选择。/Dchoice在nnnn秒之后指定默认选项。字符必须在用/C选项指定的一组选择中;同时,必须用/T指定nnnn。/Mtext指定提示之前要显示的消息。如果没有指定,工具只显示提示。/?显示帮助消息。DOS批处理命令简单地说,使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……CHOICE/C:123456789ABCDEFGHIJK/NIFERRORLEVEL8GOTOUSB_TESTIFERRORLEVEL7GOTO485_TEST…………IFERRORLEVEL2GOTOBIOS_TESTIFERRORLEVEL1GOTOMOUSE_TESTDOS批处理命令四、for循环命令,只要条件符合,它将多次执行同一命令。语法:对一组文件中的每一个文件执行某个特定命令。FOR%%variableIN(set)DOcommand[command-parameters]%%variable指定一个单一字母可替换的参数。(set)指定一个或一组文件。可以使用通配符。command指定对每个文件执行的命令。command-parameters为特定命令指定参数或命令行开关。DOS批处理命令例如一个批处理文件中有一行:for%%cin(*.bat*.txt)dotype%%c则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。DOS批处理编程方法1.IF-EXIST1)首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下:@echooffIFEXIST\AUTOEXEC.BATTYPE\AUTOEXEC.BATIFNOTEXIST\AUTOEXEC.BATECHO\AUTOEXEC.BATdoesnotexist然后运行它:C:\TEST1.BAT如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。DOS批处理编程方法2)接着再建立一个test2.bat文件,内容如下:@ECHOOFFIFEXIST\%1TYPE\%1IFNOTEXIST\%1ECHO\%1doesnotexist执行:C:\TEST2AUTOEXEC.BAT该命令运行结果同上。DOS批处理编程方法说明:(1)IFEXIST是用来测试文件是否存在的,格式为IFEXIST[路径+文件名]命令(2)test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身),这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。DOS批处理编程方法)更进一步的,建立一个名为TEST3.BAT的文件,内容如下:@echooffIF%1==AECHOXIAOIF%2==BECHOTIANIF%3==CECHOXIN如果运行:C:\TEST3ABC屏幕上会显示:XIAOTIANXINDOS批处理编程方法如果运行:C:\TEST3AB屏幕上会显示XIAOTIAN在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。DOS批处理编程方法2、IF-ERRORLEVEL建立TEST4.BAT,内容如下:@ECHOOFFXCOPYC:\AUTOEXEC.BATD:\IFERRORLEVEL1ECHO文件拷贝失败IFERRORLEVEL0ECHO成功拷贝文件然后执行文件:C:\TEST4如果文件拷贝成功,屏幕就会显示成功拷贝文件,否则就会显示文件拷贝失败。THANKS!
本文标题:DOS批处理编程原理
链接地址:https://www.777doc.com/doc-3366873 .html