BAT文件语法和技巧(bat文件的编写及使用)

2019-09-19 07:10:44王冬梅

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的文件,内容如下: 
@echo off 
IF "%1" == "A" ECHO XIAO 
IF "%2" == "B" ECHO TIAN 
IF "%3" == "C" ECHO XIN 
 
如果运行: 
C:>TEST3 A B C 
屏幕上会显示: 
XIAO 
TIAN 
XIN 
 
如果运行: 
C:>TEST3 A B 
屏幕上会显示 
XIAO 
TIAN 
 
在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。 
 
2、IF-ERRORLEVEL 
 
建立TEST4.BAT,内容如下: 
@ECHO OFF 
XCOPY C:AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败 
IF ERRORLEVEL 0 ECHO 成功拷贝文件 
 
然后执行文件: 
C:>TEST4 
 
如果文件拷贝成功,屏幕就会显示"成功拷贝文件",否则就会显示"文件拷贝失败"。 
 
IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的: 
@ECHO OFF 
XCOPY C:AUTOEXEC.BAT D: 
IF ERRORLEVEL 0 ECHO 成功拷贝文件 
相关文章 大家在看