DOS批处理高级应用

发布 2021-04-26 16:03:28 阅读 7840

时间:2009-10-16 21:05:58 点击:9

核心提示:精典的dos批处理高级应用分类:windows编程扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。

首先批处理文件是一个文本文件,这个文件的每一行都是一条dos命令(大部分时候就好象我们在dos提示符下执行的命令行一样),你可以使用dos下的edit或者wind...

精典的dos批处理高级应用分类:

windows编程。

扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。

首先批处理文件是一个文本文件,这个文件的每一行都是一条dos命令(大部分时候就好象我们在dos提示符下执行的命令行一样),你可以使用dos下的edit或者windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。

其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与c语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的dos命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。

第三,每个编写好的批处理文件都相当于一个dos的外部命令,你可以把它所在的目录放到你的dos搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如c:\batch),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:

\batch,你就可以在任意位置运行所有你编写的批处理程序。

第四,在dos和系统下,c:盘根目录下的批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。下面是一个运行于windows 98下的的示例:

echo off

path c:\windows;c:\windows\command;c:

\ucdos;c:\dostools;c:\systools;c:

\wintools;c:\batch

lh /x

lh /insert

lh set temp=d:\temp

set tmp=d:\temp

批处理的作用

简单的说,批处理的作用就是自动的连续执行多条命令。

这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示dos提示符):

c:\>cd wps

c:\wps>spdos

c:\wps>py

c:\wps>wbx

c:\wps>wps

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

好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个批处理文件,内容如下:

echo off

c: cd\wps

spdos

py wbx

wps cd

以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。

常用命令。echo、@、call、pause、rem(小技巧:用:代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。

echo 表示显示此命令后的字符

echo off 表示在此语句后所有运行的命令都不显示命令行本身

与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。

call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。

pause 运行此句会暂停批处理的执行并在屏幕上显示press any key to continue...的提示,等待用户按任意键后继续

rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。

例1:用edit编辑文件,输入下列内容后存盘为c:\执行该批处理文件后可实现:将根目录中所有文件写入 中,启动ucdos,进入wps等功能。

批处理文件的内容为命令注释:

@echo off不显示后续命令行及当前命令行

dir c:\*将c盘文件列表写入

call c:\ucdos\ 调用ucdos

echo 你好显示"你好"

pause暂停,等待按键继续

rem 准备运行wps 注释:准备运行wps

cd ucdos进入ucdos目录

wps运行wps

批处理文件的参数。

批处理文件还可以像c语言的函数一样使用参数(相当于dos命令的命令行参数),这需要用到一个参数表示符“%”

[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

例2:c:根目录下有一批处理文件名为内容为:

echo off

format %1

如果执行c:\>f a:

那么在执行时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:

例3:c:根目录下一批处理文件名为内容为:

echo off

type %1

type %2

那么运行c:\>t

1 : 表示

2 : 表示

于是上面的命令将顺序地显示和文件的内容。

特殊命令。if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。

一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:

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

参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。

例:if "%1"==a" format a:

2、if [not] exist [路径\]文件名待执行的命令

如果有指定的文件,则条件成立,运行命令,否则运行下一句。

如: if exist c:\ type c:\

表示如果存在c:\文件,则显示它的内容。

3、if errorlevel 《数字》 待执行的命令。

很多dos程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

如if errorlevel 2 goto x2

二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。

如: goto end

end echo this is the end

标号用“:字符串”来定义,标号所在行不被执行。

三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。

注意:choice命令为dos或者windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。

choice的命令语法(该语法为windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):

choice [/c choices] [n] [cs] [t timeout /d choice] [m text]

描述: 该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

参数列表:

c choices 指定要创建的选项列表。默认列表是 "yn"。

n 在提示符中隐藏选项列表。提示前面的消息得到显示,

选项依旧处于启用状态。

cs 允许选择分大小写的选项。在默认情况下,这个工具

是不分大小写的。

t timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0

到 .9。如果指定了 0,就不会有暂停,默认选项

会得到选择。

d choice 在 nnnn 秒之后指定默认选项。字符必须在用 /c 选

项指定的一组选择中; 同时,必须用 /t 指定 nnnn。

m text 指定提示之前要显示的消息。如果没有指定,工具只

显示提示。? 显示帮助消息。

注意: errorlevel 环境变量被设置为从选择集选择的键索引。列出的第一个选

择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,

该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的

errorlevel 值。如果用户按 ctrl+break 或 ctrl+c 键,该工具会返回 0

的 errorlevel 值。在一个批程序中使用 errorlevel 参数时,将参数降

序排列。示例:

choice /?

choice /c ync /m "确认请按 y,否请按 n,或者取消请按 c。"

choice /t 10 /c ync /cs /d y

choice /c ab /m "选项 1 请选择 a,选项 2 请选择 b。"

choice /c ab /n /m "选项 1 请选择 a,选项 2 请选择 b。"

DOS批处理高级教程

第一章批处理基础 1 第一节常用批处理内部命令简介 1 1 rem和 1 2 echo和 1 3 pause 2 4 errorlevel 2 5 title 2 6 color 2 7 mode 2 8 goto和 3 9 find 3 10 start 命令 4 11 assoc和ftype 4...

DOS批处理高级教程

dos批处理高级教程精选合编20080331 windows xp cmd命令行高级教程精选合编 上 见9,10,11楼未完,续继整理 目录。第一章批处理基础。第一节常用批处理内部命令简介。1 rem 和 2 echo 和 3 pause 4 errorlevel 5 title 6 color 7...

DOS批处理高级教程合编

前言。本教程主要引用伤脑筋版主的系列文章,同时参考引用英雄教程等其他批处理教程,本文将这些文章合并在一起,并适当修改,修改整理也是学习过程,力求深刻而又简单易懂,主要目的是方便自己以后查阅。本教程很长啊,需要一定的耐心才能看完,本人一边学习一边整理,断断续续的用了一个多月,弄懂了很多以前不明白的问题...