快速业务通道

推荐学习dos和bat的批处理的教程第1/2页

作者 佚名 来源 批处理 浏览 发布时间 2013-07-09
s

3、iferrorlevel数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如iferrorlevel2gotox2 DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码

goto批处理文件运行到这里将跳到goto所指定的标号处,一般与if配合使用。如:

gotoend

:end
echothisistheend

标号用:字符串表示,标号所在行不被执行

choice使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……

如:choice/c:dmedefrag,mem,end
将显示
defrag,mem,end[D,M,E]?

例如,test.bat的内容如下:
@echooff
choice/c:dmedefrag,mem,end
iferrorlevel3gotodefrag应先判断数值最高的错误码
iferrorlevel2gotomem
iferrotlevel1gotoend

:defrag
c:\dos\defrag
gotoend

:mem
mem
gotoend

:end
echogoodbye

此文件运行后,将显示defrag,mem,end[D,M,E]?用户可选择dme,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以gotoend将程序跳到end标号处,然后程序将显示goodbye,文件结束。

for循环命令,只要条件符合,它将多次执行同一命令。

格式FOR[%%f]in(集合)DO[命令]
只要参数f在指定的集合内,则条件成立,执行命令

如果一条批处理文件中有一行:
for%%cin(*.bat*.txt)dotype%%c
含义是如果是以bat或txt结尾的文件,则显示文件的内容。


  DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如:path(设置路径)、smartdrv(磁盘加速)、mouse(鼠标启动)、mscdex(光驱连接)、doskey(键盘管理)、set(设置环境变量)等。

  如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。

  例如,一个典型的autoexec.bat内容如下:

@echooff                     不显示命令行

prompt$p$g                    设置提示符前有目录提示

pathc:\dos;c:\;c:\windows;c:\ucdos;c:\tools   设置路径

lhc:\dos\doskey.com               加载键盘管理

lhc:\mouse\mouse.com               加载鼠标管理

lhc:\dos\smartdrv.exe              加载磁盘加速管理

lhc:\dos\mscdex/S/D:MSCD000/M:12/V      加载CD-ROM驱动

settemp=c:\temp                 设置临时目录

一些危险的命令会被某些有心人写进批处理文件中去,在网上四处传播搞破坏,例如在.bat中写进:

  deltree-yc:/

  接下来的事情就是你赶紧拿条手巾擦眼泪吧。从这个意义上说它比病毒还要恶毒。

  类似的,在.hlp(帮助文件)、.pif(指向DOS的快捷方式)、.lnk(WINDOWS快捷方式)这些文件中也可以写入危险的命令,如果不小心执行了那就危险了。防范以上调用DOS命令进行破坏的文件,被动的做法是通过将format、deltree这类命令改名换姓。




(一)应用DOS重定向功能

DOS的标准输入输出通常是在标准设备键盘和显示器上进行的,利用重定向,可以方便地将输入输出改向磁盘文件或其它设备。如在批处理命令执行期间为了禁止命令或程序执行后输出信息而扰乱屏幕,可用DOS重定向功能把输出改向NUL设备(NUL不指向任何实际设备):C:\>COPYA.TXTB.TXT>NUL。

命令执行结束不显示"1file(s)copied"的信息。有的交互程序在执行时要求很多键盘输入,但有时输入是固定不变的,为加快运行速度,可预先建立一个输入文件,此文件的内容为程序的键盘输入项,每个输入项占一行。假如有一个程序ZB,其输入项全部包括在文件IN.DAT中,执行C:\>ZBNUL程序就自动执行。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号