DOS批处理全面教程_第1页
DOS批处理全面教程_第2页
DOS批处理全面教程_第3页
DOS批处理全面教程_第4页
DOS批处理全面教程_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..>后缀是bat的文件就是批处理文件,是一种文本文件。现在已经用得很少了,但是象IBM笔记本的系统恢复盘就是靠批处理来执行的。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它有什么用呢?比方,在启动wps软件时,每次都必须执行:

C:\>cdwps

C:\WPS>spdos

C:\WPS>py

C:\WPS>wb*

C:\WPS>wps

如果每次用WPS之前都这样执行一次,您是不是觉得很麻烦呢?

如果有一个方法,只需编写一个批处理文件,就会自动执行刚刚的所有命令,您想不想学呢?当您看完此节,自己编写的第一个批处理文件顺利执行时,您一定会大吃一惊的。

常用命令

echo、、call、pause、rem是批处理文件最常用的几个命令,我们就从他们开场学起。

echo表示显示此命令后的字符;echooff表示在此语句后所有运行的命令都不显示命令行本身。与echooff相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。

call调用另一条批处理文件〔如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令〕;

pause运行此句会暂停,显示Pressanykeytocontinue...等待用户按任意键后继续;

rem表示此命令后的字符为解释行,不执行,只是给自己今后查找用的;

例:用edit编辑a.bat文件,输入以下内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入a.t*t中,启动UCDOS,进入WPS等功能。

批处理文件的内容为:文件表示:

echooff不显示命令行

dirc:\*.*>a.t*t将c盘文件列表写入a.t*t

callc:\ucdos\ucdos.bat调用ucdos

echo你好显示"你好"

pause暂停,等待按键继续

rem使用wps注释将使用wps

cducdos进入ucdos目录

wps使用wps

批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。

%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从%0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。

例如,C:根目录下一批处理文件名为f.bat,内容为format%1

则如果执行C:\>fa:则实际执行的是formata:

又如C:根目录下一批处理文件的名为t.bat,内容为type%1type%2,则运行C:\>ta.t*tb.t*t将顺序地显示a.t*t和b.t*t文件的内容。

此外电脑每次启动时都会寻找autoe*ec.bat这条批处理文件,从而可执行一些每次开机都要执行的命令,如设置路径path、加载鼠标驱动mouse、磁盘加速smartdrv等,可以使您的电脑真正自动化。

特殊命令

ifgotochoicefor是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。if表示将判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:

1、if"参数"=="字符串"待执行的命令

参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号〕

如if"%1"=="a"formata:

2、ife*ist文件名待执行的命令

如果有指定的文件,则条件成立,运行命令,否则运行下一句。如ife*istconfig.syseditconfig.sys

3、iferrorlevel数字待执行的命令

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

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

gotoend

:end

echothisistheend

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

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

如:choice/cmedefrag,mem,end将显示defrag,mem,end[D,M,E]"

例如,test.bat的内容如下:

echooff

choice/cmedefrag,mem,end

iferrorlevel3gotodefrag应先判断数值最高的错误码

iferrorlevel2gotomem

iferrotlevel1gotoend

efrag

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*.t*t)dotype%%c

含义是如果是以bat或t*t结尾的文件,则显示文件的内容。

autoe*ec.bat

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

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

例如,一个典型的autoe*ec.bat内容如下:

echooff不显示命令行

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

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

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

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

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

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

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

IF-E*IST

首先用记事本建立一个文件,文件内容如下:

echooff

IFE*IST\AUTOE*EC.BATTYPE\AUTOE*EC.BAT

IFNOTE*IST\AUTOE*EC.BATECHO\AUTOE*EC.BATdoesnote*ist

在C盘保存文件为TEST.BAT

然后执行命令

C:\>TEST1.BAT

这时,如果AUTOE*EC.BAT中有内容的话会显示出来。

接着再建立一个文件,内容如下:

ECHOOFF

IFE*IST%1TYPE%1

IFNOTE*IST%1ECHO%1doesnote*ist

也保存在C盘,文件名为TEST2.BAT

然后执行命令

C:\>TEST2AUTOE*EC.BAT

同样,如果AUTOE*EC.BAT中有内容的话会显示出来。

说明:

1.IFE*IST是用来测试文件是否存在的,格式为

IFE*IST[路径+文件名]命令

2.其中第二个文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1---------%9,有点想实参和形参的关系,%1是形参,AUTOE*EC.BAT是实参。

更进一步的,建立一个名为ABC.BAT的文件,内容如下:

IF‘%1’==‘A’ECHO*IAO

IF‘%1’==‘B’ECHOTIAN

IF‘%1’==‘C’ECHO*IN

完成后运行C:\>ABC.BATABC

屏幕上会显示C:\>*IAOTIAN*IA

如果执行C:\>ABC.BATAB

屏幕上会显示C:\>*IAOTIAN

DOS将一个空字符串附给参数%3。

可以将NOT放在IF和条件之间,指示IF在条件为假时执行*一命令。

注意:这个命令可在DOS下输入直接运行。

IF-ERRORLEVEL

用记事本建立一个文件*IAO.BAT,内容如下

ECHOOFF

*COPYC:\AUTOE*EC.BATD:\

IFERRORLEVEL==0ECHO成功拷贝文件

然后执行文件

C:\>*IAO.BAT

如果文件拷贝成功,屏幕就会显示:成功拷贝文件

IFERRORLEVEL是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,因此下面的批处理文件是错误的

ECHOOFF

*COPYC:\AUTOE*EC.BATD:\

IFERRORLEVEL==0ECHO成功拷贝文件

IFERRORLEVEL==1ECHO未找到拷贝文件

IFERRORLEVEL==2ECHO用户通过ctrl-c中止拷贝操作

IFERRORLEVEL==3ECHO预置错误阻止文件拷贝操作

IFERRORLEVEL==4ECHO拷贝过程中写盘错误

无论拷贝是否成功,后面的:

未找到拷贝文件

用户通过ctrl-c中止拷贝操作

预置错误阻止文件拷贝操作

拷贝过程中写盘错误

都将显示出来。

注意:这个命令是可以在DOS下直接输入的。

例如:

C:\>*COPY\AUTOE*EC.BATD:\

之后可以执行

C:\>IFERRORLEVEL==0ECHO成功拷贝文件

如果成功,屏幕将显示:

成功拷贝文件

以下就是几个常用命令的返回值:

backup

出口状态意义

0备份成功

1未找到备份文件

2文件共享冲突阻止备份完成

3用户用ctrl-c中止备份

4由于致命的错误使备份操作中止diskcomp

出口状态意义

0盘比较一样

1盘比较不同

2用户通过ctrl-c中止比较操作

3由于致命的错误使比较操作中止

4预置错误中止比较

diskcopy

出口状态意义

0盘拷贝操作成功

1非致命盘读/写错

2用户通过ctrl-c完毕拷贝操作

3因致命的处理错误使盘拷贝中止

4预置错误阻止拷贝操作

format

出口状态意义

0格式化成功

3用户通过ctrl-c中止格式化处理

4因致命的处理错误使格式化中止

5在提示"proceedwithformat〔y/n〕?〞下用户键入n完毕

*opy

出口状态意义

0成功拷贝文件

1未找到拷贝文件

2用户通过ctrl-c中止拷贝操作

4预置错误阻止文件拷贝操作

5拷贝过程中写盘错误

IFSTRING==STRING

首先用记事本建立一个名为*IAO.BAT的文件,文件内容如下:

echooff

IF"%1"=="A"FORMATA:

接着执行

C:\>*IAOA

屏幕上就出现是否将A:盘格式化的内容。

这个语句的格式为

IF"参数"=="字符串"待执行的命令

参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。

注意:要想在DOS下直接使用,只有这样

C:\>IF"A"=="A"FORMATA:

毫无意义。

GOTO

首先用记事本建立一个名为*IAO.BAT的文件,文件内容如下:

ECHOOFF

IFE*ISTC:\AUTOE*EC.BATGOTOKB

:KB

COPYC:\AUTOE*EC.BAT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论