windows bat用法

处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为.bat或.cmd。
在命令提示下键入批处理文件的名称,或者直接双击该批处理文件,系统就会调用cmd.exe按照
该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),
可以简化日常或重复性任务。

简单批处理内部命令

1、echo命令
当程序运行时,显示或隐藏批处理程序中的正文,也可用于允许或禁止命令的显示。
在运行批处理程序时,DOS一般在屏幕上显示批处理程序中的命令。使用ECHO命令可关闭此功能。

语法
echo [{on|off}] [message]

参数
on|off
指定是否允许命令的显示。若要显示当前的echo的设置,可使用不带参数的echo命令。

message
指定在DOS屏幕上显示的正文。

eg:
@echo off            //不显示后续命令行及当前命令行
echo hello world    //显示hello world

2、@命令
表示不显示@后面的命令。

eg:
@echo off
@echo 北京欢迎你!   //显示北京欢迎你!

3、Goto命令
指定跳转到标签,找到标签后,然后处理从程序下一行开始的命令。
语法:
goto label

参数:
lable
是指参数,指定所要转向的批处理程序中行。标签的名字可以随便起,但最好是有意义的字母,
字母前加个:,用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到哪里。

eg:
@echo off
goto test
echo 北京欢迎你!
:test
echo 我们都是中国人!

显示结果:我们都是中国人!

4、Rem命令
注释命令,一般是用来给程序加上注释的,在程序执行的时候它不会执行,也不会被显示,只是起一个注释的作用,便于
别人阅读和你自己日后修改。

eg:
@rem THIS IS THE DESCRIPTION.

5、call命令
call命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行时也会执行自己的批处理。
eg:
b.bat内容如下:
echo 北京欢迎你

a.bat内容如下:
@echo off
echo 我们都是中国人
call b.bat

执行结果如下:
C:\>a.bat
我们都是中国人
北京欢迎你

6、pause命令
停止系统命令的执行并显示下面的内容。

7、 IF
IF 条件判断语句,语法格式如下:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
说明:
[NOT] 将返回的结果取反值即“如果没有”的意思。
ERRORLEVEL 是命令执行完成后返回的退出值
Number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。
string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的 command
EXIST filename 为文件或目录存在的意思。
IF ERRORLEVEL这条语句必须放在某一个命令后面。执行命令后由IF ERRORLEVEL来判断命令的返回值。

(1)、 IF [NOT] ERRORLEVEL number command
检测命令执行完后的返回值做出判断。

eg:
test.bat内容如下
@echo off
dir z:
rem 如果退出代码为1(不成功)就跳至标题1处执行
IF ERRORLEVEL 1 goto 1
rem 如果退出代码为0(成功)就跳至标题0处执行
IF ERRORLEVEL 0 goto 0
:0
echo 命令执行成功!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:1
echo 命令执行失败!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:exit
Rem 这里是程序的出口

C:\>test.bat

C:\>echo off
系统找不到指定的路径。
命令执行失败!

(2)、 IF string1==string2 command
检测当前变量的值做出判断
eg:test.bat内容如下:
ECHO OFF
IF %1==2 goto no
Echo 变量不相等!
Goto exit
:no
echo 变量相等
goto exit
:exit

C:\>test 3

C:\>ECHO OFF
变量不相等!

C:\>test 2

C:\>ECHO OFF
变量相等

特殊符号

%
批处理变量引导符,只是批处理中的参数而已。
eg:
@echo off
ECHO %1
ECHO %2
ECHO %3
显示结果:
C:\>test 北京 上海 深圳
北京
上海
深圳

C:\>test dog cat
dog
cat
ECHO 处于关闭状态。

特殊符号

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


>与>>
> 重置原文件,也就是会清除原有文件中的内容后把新内容写入,如果没有原文件就会创建一个文件。
>>会另起一行追加新的内容到原文件中,而不会改动其中的原有内容。
eg:
test.bat的内容如下:
echo echo This is a pipeline command example.> a.bat
echo echo It is very easy? >> a.bat
echo echo Believe your self! >> a.bat
echo pause >> a.bat
echo exit >> a.bat 

执行结果:C:\>test.bat
打开a.bat显示结果如下:
echo This is a pipeline command example. 
echo It is very easy? 
echo Believe your self! 
pause 
exit

猜你喜欢

转载自huyumin.iteye.com/blog/1898234
今日推荐