目录
- 一、常用命令
- 二、基本语法
- 1. rem 和 ::
- 2. echo 和 @
- 3. pause
- 4. errorlevel
- 5. title
- 6. color
- 7. goto 和 :
- 三、常见用法
- 1. 设置临时环境变量
- 2. 启动CMD执行命令
- 3. 打开环境变量窗口
- 参考资料:
- 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于 DOS 和 Windows 系统中。批处理文件的扩展名为 bat(或 cmd)。通常我们指定的批处理指 DOS批处理脚本。
- DOS 批处理则是基于 DOS 命令的,用来自动地批量地执行 DOS 命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同 C、Python 等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。
一、常用命令
常用命令也可见文章:链接
- 文件夹管理
- cd 显示当前目录名或改变当前目录。
- md 创建目录。
- rd 删除一个目录。
- dir 显示目录中的文件和子目录列表。
- tree 以图形显示驱动器或路径的文件夹结构。
- path 为可执行文件显示或设置一个搜索路径。
- xcopy 复制文件和目录树。
- 文件管理
- type 显示文本文件的内容。
- copy 将一份或多份文件复制到另一个位置。
- del 删除一个或数个文件。
- move 移动文件并重命名文件和目录。(Windows XP Home Edition中没有)
- ren 重命名文件。
- replace 替换文件。
- attrib 显示或更改文件属性。
- find 搜索字符串。
- fc 比较两个文件或两个文件集并显示它们之间的不同
- 网络命令
- ping 进行网络连接测试、名称解析
- ftp 文件传输
- net 网络命令集及用户管理
- telnet 远程登陆
- ipconfig显示、修改TCP/IP设置
- msg 给用户发送消息
- arp 显示、修改局域网的IP地址-物理地址映射列表
- 系统管理
- at 安排在特定日期和时间运行命令和程序
- shutdown立即或定时关机或重启
- tskill 结束进程
- taskkill结束进程(比tskill高级,但WinXPHome版中无该命令)
- tasklist显示进程列表(Windows XP Home Edition中没有)
- sc 系统服务设置与控制
- reg 注册表控制台工具
- powercfg控制系统上的电源设置
二、基本语法
注意,bat 脚本不区分大小写。
1. rem 和 ::
:: 用于进行文本的注释,执行后不会回显内容。
rem 用于文本注释,执行后会回显内容。
2. echo 和 @
@字符放在命令前将关闭该命令回显,⽆论此时echo是否为打开状态。
- 打开回显功能:
echo on
- 关闭回显功能:
echo off
- 输出空行:
echo.
或echo,
或echo:
或echo/
等 - 显示当前echo状态:
echo
- 输出提示信息:
echo 信息内容
- 答复提问:
echo 答复语|执行的操作
- 新建文件:
echo 文件内容>文件名
- 新增内容:
echo 文件内容>>文件名
- 喇叭鸣响:
echo ^g
3. pause
使当前程序暂停,并输出以下内容,作用是为了让我们知道程序运行到哪步了。
显示其他提示语:echo 其他提示语 & pause > nul
4. errorlevel
获取程序返回码:echo %errorlevel%
每个命令运⾏结束,可以⽤这个命令⾏格式查看返回码。⽤于判断刚才的命令是否执⾏成功,默认值为0,⼀般命令执⾏出错会设 errorlevel 为1。
5. title
设置cmd窗口的标题,语法如下:
title 我的窗口
6. color
设置默认控制台的前景色和背景色,语法如下:
color 前景色 背景色
颜⾊属性由两个⼗六进制数字指定 – 第⼀个为背景色,第⼆个则为前景色。每个数字可以为以下任何值之⼀。
数值 | 颜色 | 数值 | 颜色 |
---|---|---|---|
0 | ⿊⾊ | 8 | 灰⾊ |
1 | 蓝⾊ | 9 | 淡蓝⾊ |
2 | 绿⾊ | A | 淡绿⾊ |
3 | 湖蓝⾊ | B | 浅绿⾊ |
4 | 红⾊ | C | 淡红⾊ |
5 | 紫⾊ | D | 淡紫⾊ |
6 | 黄⾊ | E | 淡黄⾊ |
7 | ⽩⾊ | F | 亮⽩⾊ |
7. goto 和 :
通过goto
和:标号
可以实现跳转执行命令。
@echo off
:start
set /a var+=1
echo %var%
if %var% leq 3 GOTO start
pause
三、常见用法
1. 设置临时环境变量
在命令行模式下设置的环境变量,属于临时环境变量,只针对当前的CMD命令窗口有效,并不影响其他窗口中的环境变量,更不会影响到永久性的环境变量,要设置永久的环境变量,需要通过图形操作修改。
CMD
set path=%path%;C:\test ::在原有环境变量的基础上追加环境变量
PowerShell
$env:path+="C:\test"
2. 启动CMD执行命令
start cmd /k ::启动一个CMD且不关闭CMD
start cmd /c ::启动一个CMD且关闭CMD
start cmd /k "命令1 & 命令2 & 命令3" ::无论前面命令是否成功, 后面都会执行
start cmd /k "命令1 && 命令2 && 命令3 " ::仅当前面命令成功时, 才执行后面,一般用这个
start cmd /k "命令1 || 命令2 || 命令3" ::仅当前面命令失败时. 才执行后面
3. 打开环境变量窗口
rundll32 sysdm.cpl,EditEnvironmentVariables
参考资料:
https://www.jb51.net/article/250331.htm
http://www.taodudu.cc/news/show-3034558.html
https://www.w3cschool.cn/dosmlxxsc1/wvqyr9.html
https://www.runoob.com/linux/linux-shell-variable.html
https://www.hxstrive.com/subject/windows_bat.htm?id=36
https://cloud.tencent.com/developer/article/2118950
https://www.yiibai.com/batch_script/
https://zhuanlan.zhihu.com/p/415626343
http://t.csdn.cn/hJaPh
http://t.csdn.cn/3R7Be
http://t.csdn.cn/zFfr5
http://t.csdn.cn/JmcoH
http://t.csdn.cn/ui048