【编程开发】批处理经常使用命令(持续更新中……)

一. 批处理介绍:
1. 批处理(Batch),也称为批处理脚本。
2. 批处理就是对某对象进行批量的处理,一般被认为是一种简化的脚本语言,也称做宏,它应用于DOS和Windows系统中。
3. 批处理文件的扩展名为bat。
4. 目前比较常见的批处理包含两类:DOS批处理和PS批处理,DOS批处理是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操做的脚本。
5. 运行环境:Windows系统内嵌的命令解释器(一般是COMMAND.COM或者CMD.EXE)解释运行,相似于Unix中的Shell脚本,能够用记事本直接编译。
6. 书写格式:逐行书写在命令行中会用到的各类命令,更复杂的状况须要使用if、for、goto等命令控制程序的运行过程。

二. 常见命令介绍:
1. echo命令:打开回显或关闭请求回显功能,或显示消息。若是没有任何参数,echo命令将显示当前回显设置。
Demo:
@echo on 打开回显;
@echo off 关闭回显;
echo hello world 显示hello world

2. rem命令:注释命令,相似于在C语言中的/*------*/,它并不会被执行,只是起一个注释的做用,只有在编辑批处理时才会被看到,主要用于方便修改。

3. ::命令:也具备rem的功能,但和rem仍是有区别的。当关闭回显时,rem和::后的内容都不会显示,但当打开回显时,rem后面的内容会显示出来,然而::后的内容都不会显示,但当打开回显时,rem及后面的内容会显示出来,然而::后的内容仍不会显示。

4. pause命令:暂停命令。运行pause命令时,将显示下面的消息:Press any key to continue...(或:请按任意键继续...)

5. call命令:从一个批处理程序调用另外一个批处理程序,而且不终止父批处理程序。call命令接受用做调用目标的标签。
语法:
call [路径文件名][标签]
Demo:
call C:\Users\wang.xinzheng\Desktop\Test.bat
注意:
直接使用"C:\Users\wang.xinzheng\Desktop\Test.bat"也能够调用该文件,但会终止父批处理程序。

6. start命令:调用外部程序,全部的DOS命令和命令行程序均可以由start命令来调用。
Demo:
start calc.exe 打开计算器
MIN calc.exe 打开并最小化计算器

7. goto命令:跳转指令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序。
语法:
goto label(label标签的名字能够随便起,前面加:表示这个字母是标签)
Demo:
:A
start
goto A

8. set命令:显示、设置或删除变量。
显示变量:
set 显示批处理当前已定义的全部变量及其值。
set s 显示全部以s开头的变量及值。
设置变量:
set aa=abcd 就是把aa定义为abcd。
调用变量:
%aa% 在变量两边加上个百分号。
删除变量:
set aa= 若变量aa已被定义,则删除变量aa;若aa还没有定义,则此句命令无实质意义。

9. 回显屏蔽@:表示不显示@后面的命令

10. 重定向1 ">" 和 ">>":将输出信息重定向到指定的设备或文件,系统默认输出到显示器。
Demo:
echo aaaaa>a.txt 将信息输出到文件a.txt中
echo aaaaa>>a.txt 将信息输出到文件a.txt中
注意:
若a.txt不存在,无差异;
若a.txt存在,">"会先擦除a.txt的信息,再将aaaaa写入;">>"不会擦除a.txt的信息,直接在a.txt的末尾写入aaaaa;网络

11. 重定向2 "<":将输入信息来源重定向为指定的设备或文件。系统默认从显示器读取输入信息。
Demo:
@echo off
echo abcdefg--这是文件a.txt中的信息>a.txt
echo 请任意输入字符,以回车结束:
set /p inf=
rem cls
echo 【从屏幕得到的输入信息】
echo %inf%
set /p inf=<a.txt
echo 【从文件得到的输入信息】
echo %inf%
pause

12. 管道符号|:将管道符号前面命令的输出结果重定向输出到管道符号后面的命令中去,做为后面命令的输入。
使用格式:command_1|command_2
Demo1:
@echo off
echo bbbb>b.txt
del /p b.txt
pause
Demo2:
@echo off
echo bbbb>b.txt
echo y|del /p b.txt
pause
结果对比:Demo2运行直接会输入y运行

13. 转义符^:将特殊符号转化为通常符号,即剥离特殊符号的特殊地址。特殊符号指:| & > <。
Demo:
echo ^>: 屏幕上输出"^>"

14. 逻辑命令符:包括& && ||
做用解释:
&: 做用是用来链接n个DOS命令,并把这些命令按顺序执行,而无论是否有命令执行失败;
&&:&&前面的命令成功执行时,执行&&后面的命令,不然不执行;
||:||前面的命令失败时,执行||后面的命令,不然不执行;

15. 文件夹管理命令:
cd: 显示当前目录名或改变当前目录
md: 建立目录
rd: 删除一个目录
dir: 显示目录中的文件和子目录列表
tree: 以图形显示驱动器或路径的文件夹结构
path: 为可执行文件显示或设置一个搜索路径
copy: 复制文件和目录树

16. 文件管理命令:
type: 显示文本文件的内容
copy: 将一份或多份文件复制到另外一个位置
del: 删除一个或数个文件
move: 移动文件并重命名文件和目录
ren: 重命名文件
replace: 替换文件
attrib: 显示或更改文件属性
find: 搜索字符串
fc: 比较两个文件或两个文件集并显示它们之间的不一样

17. 网络命令:
ping: 进行网络链接测试、名称解析
ftp: 文件传输
net: 网络命令集及用户管理
telnet: 远程登录
ipconfig: 显示、修改TCP/IP设置
msg: 给用户发送消息
arp: 显示、修改局域网的IP地址-物理地址映射列表

18. 系统管理:
at: 安排在特定日期和时间运行命令和程序
shutdown: 当即或定时关机或重启
tskill: 结束进程
taskkill: 结束进程(比tskill高级)
taslist: 显示进程列表
sc: 系统服务设置与控制
reg: 注册表控制台工具
powercfg: 控制系统上的电源设置

19. 帮助信息:在cmd中输入命令+/?便可查看该命令的帮助信息。
Demo:
dir /?

三. 语句结构:
1. 选择结构(if语句):
a. 基本介绍:实现条件判断,包括字符串比较、存在判断、定义判断等。经过条件判断,if语句便可以实现选择功能。

b. 字符串比较:if语句仅可以对两个字符(串)是否相同、前后顺序进行判断
命令格式:
IF [not] string1 compare-op string2 command1 [else command2]
经常使用比较操做符compare-op:
== 等于
EQU 等于
NEQ 不等于
LSS 小于
LEQ 小于或等于
GTR 大于
GEQ 大于或等于
Demo:
@echo off
set str1=abcd1234
set str2=ABCD1234
if /i %str1% EQU %str2% (echo 字符串相同) else (echo 字符串不一样)
pause
补充说明:/i 设定不区分字符串大小写

c. 存在判断:判断文件或文件夹是否存在
命令格式:
IF [NOT] EXIST filename command1 [else command2]
Demo:
@echo on
if not exist %Test (
md Test1
) else md Test2
pause
补充说明:
①. 存在判断既能够判断文件也能够判断文件夹
②. %Test即表明该处理的全称(包括驱动器盘符、路径、文件名和扩展类型)
③. if语句的多行书写要求:
command1的左括号必须和if在同一行
else必须和command1的右括号同行
command2的左括号必须与else同行
command1和command2均可以有任意多行

工具