【批处理教程】

一、常用命令简介

1、echo命令

2、rem命令

3、pause命令

4、call命令

5、start命令

6、goto命令

7、set命令

二、常用符号简介

1、回显屏蔽 @

2、重定向1 >;与>>

3、重定向2 <

4、管道符号 |

5、转义符 ^

6、逻辑命令符

三、命令释义

1、文件夹管理

2、文件管理

3、网络命令

4、系统管理

四、语句结构

1、if语句(选择结构)

for语句(循环结构)

五、字符串

1、截取字符串

2、替换字符串

3、字符串合并

4、扩充字符串

六、数值计算

七、批处理的相关知识

1、环境变量

2、用户变量

3、参数

4、返回值

5、ASCII码

6、ArcGIS中的批处理

八、注意

九、示例

1、统计svn代码行变更数

一、常用命令简介

1、echo 命令

打开或关闭回显功能,或显示消息。

Syntax :echo [{on|off}] [message]

Sample:@echo off / echo hello world

2、rem 命令

注释命令

:: 也具有rem的功能

但::和rem还是有区别的,当关闭回显时,rem和::后的内容都不会显示。

但是当打开回显时,rem 后的内容会显示出来,然而::后的内容仍然不会显示。

Syntax :Rem [注释内容]

Sample:Rem 你好。

3、pause 命令

暂停命令。运行 Pause 命令时,将显示下面的消息:

Press any key to continue. . .(或:请按任意键继续. . .)

Sample:

@echo off

:begin

copy G:*.* d:\back

echo 请插入另一张光盘...

pause

goto begin

在这个例子中,驱动器 G 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张光盘盘放入驱动器 G 时,pause 命令会使程序挂起,以便您更换光盘,然后按任意键继续处理。

4、call 命令

从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。

Syntax:call [路径文件名] [标签]]

Parametes:[Drive:}[Path] FileName

指定要调用的批处理程序的位置和名称。

5、start 命令

调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。

Sample:start calc.exe即可打开Windows的计算器。

6、goto 命令

跳转命令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序。

Syntax:goto label (label是参数,指定所要转向的批处理程序中的行。)

Sample:

:label

start

goto label

运行以上这段命令,就会打开很多个窗口(用来整人相当不错)。这段命令的意思是,先用start命令打开窗口,再用goto label命令转到label标签,即第一行后面的命令。注意标签名字前面要加上英文的冒号。

7、set 命令

显示、设置或删除变量。

显示变量:set 或 set s 前者显示批处理当前已定义的所有变量及其值,后者显示所有以s开头的变量及值。

设置和调用变量:例如set aa=abcd,就是把aa定义为abcd。如果要调用这个变量,就把aa两边加上个百分号。

例如:

set aa=abcd

echo %aa%

pause

运行这段命令就会显示“abcd”。

删除变量:set aa= 此句命令即可删除变量aa。若变量aa已被定义,则删除变量aa;若aa尚未定义,则此句命令无实质意义。

需要说明的是,批处理中的变量是不区分类型的,不需要像C语言中的变量那样还要区分int、float、char等。比如执行set aa=345后,变量aa的值既可以被视为数字345,也可以被视为字符串345。

set命令具有扩展功能,如用作交互输入、字符串处理、数值计算等,属于高级命令范畴。

二、常用符号简介

1、回显屏蔽 @

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

Sample:通过运行批处理文件对比pause和@pause命令即可明了@的效果。

2、重定向1 >;与>>

将输出信息重定向到指定的设备或文件。系统默认输出到显示器。

Sample:echo aaaaa>a.txt 

将aaaaa输出到文件a.txt中。若文件a.txt本来已经存在,该命令将首先擦除a.txt中的所有信息,然后写入信息aaaaa;若a.txt本来就不存在,该命令即可新建一个a.txt文件,并写入信息aaaaa。

Sample:echo aaaaa>>a.txt

和echo aaaaa>a.txt的区别在于:若a.txt已经存在时,>>会追加在a.txt文本中;若a.txt不存在时,两者没有区别。

需要注意的是,因为数字的特殊性,在echo输出数字时,请在后面加上空格,例如:echo 9313 >a.txt,否则有可能造成输出不完整。

3、重定向2 <

将输入信息来源重定向为指定的设备或文件。系统默认从显示器读取输入信息。

重定向使用举例:

=========================================

@echo off

echo abcdefg——这是文件a.txt中的信息>a.txt

echo 请任意输入字符,以回车结束:

set /p ifo=

cls

echo 【 从屏幕获得的输入信息 】

echo %ifo%

set /p ifo=<a.txt< p="">

echo 【 从文件a.txt获得的输入信息 】

echo %ifo%

pause>nul

=========================================

读者观察命令与输出即可体会到重定向的功能和效果。

4、管道符号 |

Syntax:command_1|command_2

将command_1的输出重定向为command_2的输入。

Sample:

=========================================

@echo off

echo aaaa>a.txt

del /p a.txt

pause

=========================================

@echo off

echo aaaa>a.txt

echo y|del /p a.txt

pause

=========================================

对比以上两个批处理执行结果,读者即可明白管道符的用法和效果。

5、转义符 ^

将特殊符号转化为一般符号,即剥离特殊符号的特殊地位。特殊符号指:| & > <

比如,如果我们想输出符号“>;”,直接用命令 echo > 是不行的,必须修改为 echo ^>;。其余几个特殊符号类似需要有同样的处理。

Sample:

=========================================

@echo off

echo aaaa>a.txt

echo 第一句echo执行完毕

echo aaaa^>a.txt

echo 第二句echo执行完毕

pause

=========================================

比较上面的两句echo,第一句echo将信息aaaa输出到了文件a.txt,而第二句echo则在直接屏幕上显示出aaaa>a.txt

6、逻辑命令符

逻辑命令符包括:&;、&&;、||

&-它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败;

&&-当&&;前面的命令成功执行时,执行&&;后面的命令,否则不执行;

||-当||前面的命令失败时,执行||后面的命令,否则不执行。

=========================================

@echo off

echo ^|^|

reg add HKCU /v try /f||echo **失败**

reg add HKCU1 /v try /f||echo **成功**

echo ^&^&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值