dos之bat批处理文件语法介绍

2019-09-19 07:08:33于海丽

if errorlevel 3 goto end
if errorlevel 2 goto mem 
if errotlevel 1 goto defrag 

:defrag 
c:dosdefrag 
goto end 

:mem 
mem 
goto end 

:end 
echo good bye 

此批处理运行后,将显示“defrag,mem,end[D,M,E]?” ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。 

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

语法:
对一组文件中的每一个文件执行某个特定命令。

FOR %%variable IN (set) DO command [command-parameters]

 %%variable  指定一个单一字母可替换的参数。
 (set)      指定一个或一组文件。可以使用通配符。
 command    指定对每个文件执行的命令。
 command-parameters
            为特定命令指定参数或命令行开关。

例如一个批处理文件中有一行: 
for %%c in (*.bat *.txt) do type %%c 

则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。


批处理示例

1. IF-EXIST

1)

首先用记事本在C:建立一个test1.bat批处理文件,文件内容如下: 
@echo off 
IF EXIST AUTOEXEC.BAT TYPE AUTOEXEC.BAT 
IF NOT EXIST AUTOEXEC.BAT ECHO AUTOEXEC.BAT does not exist 

然后运行它:
C:>TEST1.BAT 

如果C:存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。

2)

接着再建立一个test2.bat文件,内容如下: 
@ECHO OFF 
IF EXIST %1 TYPE %1 
IF NOT EXIST %1 ECHO %1 does not exist 

执行: 
C:>TEST2 AUTOEXEC.BAT 
该命令运行结果同上。

说明: 
(1) IF EXIST 是用来测试文件是否存在的,格式为 
IF EXIST [路径+文件名] 命令 
(2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。 

3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下: 
相关文章 大家在看