批处理语言规则--编辑bat文件

批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。

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


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

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


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


常用命令:echo、@、call、pause、rem、::

1. echo

echo 一个作用是作为开关命令,用于控制是否显示当前执行命令, 执行echo off 会将显示关闭,其后面的所有命令都将不显示命令本身,只显示命令执行后的结果,执行echo on命令 会将显示打开,既显示当前命令本身也实现执行后的结果

echo的另一个作用是用来显示信息


2. @

其功能与echo off类似,但其只能放在当前命令行最前面,控制这一行运行时不显示,所以我们通常看到的批处理文件,都会在文件开头加上“@echo off",从而实现不显示所有命令行。

3. call

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

4.pause

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

5. rem

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

6. ::

注释命令,在批处理脚本中和rem 命令等效。它后面的内容在执行时不显示,也不起任何作用,因为它只是注释,只是增加了脚本的可读性,和C 语言中的/*............*/类似。

批处理文件的参数
批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),需要用到一个参数表示符“%”。%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

特殊命令:if、goto(:)、choice、for

1. if
条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令,有三种格式:
1) if [not] "参数"=="字符串"待执行的命令
2) if [not] exist[路径\]文件名待执行的命令
3) if errorlevel<数字>待执行的命令
很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态
),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照 从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

2. goto(:)
跳转命令你批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用 : 后跟标准字符串 来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。另外,goto也可以用于提前结束程序

3. choice
使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的 errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。
注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍 有不同,请用choice /?查看用法。

choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的hoice
的命令语法与此大同小异): CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
描述: 该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
参数列表:
/C choices指定要创建的选项列表。默认列表是 "YN"。
/N 在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。
/CS 允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。
/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0 到 9999。如果指定了 0,就不会 有暂停,默认选项 会得到选择。
/D choice 在nnnn秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中; 同时,必须用 /T 指定nnnn。
/M text 指定提示之前要显示的消息。如果没有指定,工具只显示提示。
/? 显示帮助消息。

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

FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
例如一个批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。

 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值