- 批处理(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脚本中,我们使用 和 添加注释,用法如下:
注意
- 只能出现在每一行的开头,其后的内容被当作注释
- 可用于任何位置,其后的内容被当作是注释
变量类型包括:数字、字符串及数组。
注意:
- 变量名与内容之间通过连接且没有空格
在bat脚本中,if条件判断语句共有6种比较操作符,分别为
注意:
- 只有等于操作符可以使用符号 表示
- 前面必须有空格!!!!
遍历指定目录的所有目录
遍历文件中的每一行
7.1 字符串连接
这将输出 Hello World。在批处理中,可以使用 % 符号来引用变量,并使用空格将字符串连接起来。
7.2 字符串截取
这将输出 abc。:~ 后跟的是截取的起始索引和长度。在这个例子中,0,3 表示从索引 0 开始截取,长度为 3。
7.3 字符串查找:
这将输出 cdef。如果省略长度,则从指定的索引开始一直截取到字符串末尾。
7.4 字符串替换:
用于启用延迟扩展(Delayed Expansion)模式,它是 Windows 批处理脚本中的一个特性。在启用延迟扩展后,! 可以用来获取变量的值,而不仅仅是 %。
可参考文件:链接
注意,bat 脚本不区分大小写。
@字符放在命令前将关闭该命令回显,⽆论此时echo是否为打开状态。
- 打开回显功能:
- 关闭回显功能:
- 输出空行: 或 或 或 等
- 显示当前echo状态:
- 输出提示信息:
- 答复提问:
- 新建文件:
- 新增内容:
- 喇叭鸣响:

设置cmd窗口的标题,语法如下:

设置默认控制台的前景色和背景色,语法如下:
颜⾊属性由两个⼗六进制数字指定 – 第⼀个为背景色,第⼆个则为前景色。每个数字可以为以下任何值之⼀。
示例如下:

通过和可以实现跳转执行命令。
在文件中搜索字符串,语法如下:
- /v 显示所有未包含指定字符串的行
- /c 仅显示包含字符串的行数
- /n 显示行号
- /i 搜索字符串时忽略大小写
- /off[line] 不要跳过具有脱机属性集的文件
- “字符串” 指定要搜索的字符串
- [drive:][path]filename 指定要搜索的文件
批处理中用来调用外部程序的命令,语法如下:
参数:
- 指定程序的起始目录
- 最小化启动窗口
- 最大化启动窗口
- 等待启动的程序结束后才继续脚本
- 在同一窗口中启动程序
- 隐藏控制台执行程序
说明:
- 该命令将在新进程中运行外部程序,原批处理程序将继续执行
- 执行运行外部程序则会等待外部程序完成后再继续执行后续指令
示例: 将会使用图形界面打开D盘。
CALL命令可以在批处理执⾏过程中调⽤另⼀个批处理,只有当被调用的批处理执⾏完后,才能继续执⾏原来的批处理,语法如下:
assoc 和 ftype 可实现文件关联,语法如下:
主要用于保存并返回初始目录,示例如下:
条件判断语句,语法如下:
在这个例子中, 设置控制台窗口的列数为80,行数为30。
用在任何命令前面,实现关闭当前行的回显.
:批处理本身所在的路径
DOS的标准输⼊输出通常是在标准设备键盘和显⽰器上进⾏的,利⽤重定向,可以⽅便地将输⼊输出改向磁盘⽂件或其它设备。其中:
- ⼤于号 将命令发送到⽂件或设备,例如打印机>prn
- 双⼤于号 将命令输出添加到⽂件结尾⽽不删除⽂件中已有的信息
- ⼩于号 从⽂件⽽不是键盘上获取命令所需的输⼊
- 符号将输出从⼀个默认I/O流(stdout,stdin,stderr)重新定向到另⼀个默认I/O流
和 有点类似,但他们的区别是 是传递并在⽂件的末尾追加,⽽ 是覆盖。
在命令行模式下设置的环境变量,属于临时环境变量,只针对当前的CMD命令窗口有效,并不影响其他窗口中的环境变量,更不会影响到永久性的环境变量,要设置永久的环境变量,需要通过图形操作修改。
CMD
PowerShell
如果需要执行指定的脚本文件,请使用 命令,示例如下:
① 搜索当前目录是否存在以指定字符串结尾的文件夹
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/
https://www.yiibai.com/batch_script/
https://zhuanlan.zhihu.com/p/
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
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/do-yfwjc/18767.html