批处理文件

批处理文件

批处理文件(Batch File)

批处理文件是 Windows 系统下的一种纯文本脚本文件 ,后缀名为 .bat.cmd,可以一次性执行一连串系统命令,不用手动逐条输入,实现自动化操作。

简单理解: 把在 CMD 里敲的多条命令,按顺序写进一个文本文件,改后缀为 .bat,双击就能自动全部执行。


一、基本概念

  1. 全称:Batch File(批处理文件)
  2. 运行环境 :Windows 命令行 cmd.exe
  3. 文件后缀
    • .bat:传统 DOS/Windows 兼容
    • .cmd:Windows NT 及以后增强版,功能更强
  4. 本质:纯文本,可用记事本直接编辑
  5. 作用:自动化重复操作、批量处理文件、简化运维、启动程序等

二、批处理能做什么

常见用途:

  • 批量重命名、复制、删除、移动文件
  • 自动备份文件、清理系统垃圾
  • 一键启动多个程序(如同时开 QQ、浏览器、IDE)
  • 配置网络、IP、DNS
  • 循环处理大量文件、遍历文件夹
  • 编写简单安装/卸载脚本
  • 配合定时任务实现自动执行

三、最简单的批处理示例

新建文本文档 → 输入:

batch 复制代码
@echo off
echo 正在启动程序...
start notepad.exe
echo 已打开记事本
pause

保存为 test.bat,双击运行:

  • @echo off:关闭命令回显(不显示执行的命令本身)
  • echo:输出文字
  • start:启动程序
  • pause:暂停,让窗口不闪退

注意:编辑完后,将文件所在文件夹路径写在系统环境里面,后期就是直接在命令行直接调用

四、常用批处理命令(核心)

1. 基础控制

  • @echo off:关闭命令显示(最常用开头)
  • echo 内容:打印文字
  • pause:暂停,按任意键继续
  • cls:清屏
  • exit:退出批处理

2. 文件/文件夹操作

  • dir:显示目录文件
  • cd:切换目录
  • md / mkdir:新建文件夹
  • rd:删除文件夹
  • copy:复制文件
  • xcopy:高级复制(含目录)
  • del:删除文件
  • ren:重命名
  • move:移动文件

3. 流程控制

  • :label:定义标签
  • goto label:跳转到标签
  • if:条件判断
  • for:循环(批量处理神器)
  • set:定义变量

4. 其他实用

  • start:启动程序/打开文件
  • title:设置窗口标题
  • color:设置控制台颜色
  • call:调用另一个批处理

五、一个实用示例:批量清理垃圾

batch 复制代码
@echo off
title 系统垃圾清理
echo 正在清理垃圾...
del /f /s /q %temp%\*
del /f /s /q C:\Windows\Temp\*
echo 清理完成!
pause

六、特点与优缺点

优点

  • 轻量、无需安装环境
  • 编写简单,纯文本即可
  • 系统原生支持,双击运行
  • 适合自动化、批量任务

缺点

  • 功能有限,复杂逻辑不如 Python/PS
  • 错误处理弱
  • 仅 Windows 可用
  • 语法较古老

七、与 PowerShell 的区别

  • 批处理 .bat/.cmd:老、简单、兼容好
  • PowerShell .ps1:现代、功能强、面向对象、适合运维自动化
相关推荐
JavaPub-rodert18 分钟前
Linux 下部署 MongoDB:从安装、配置到生产环境使用
linux·运维·mongodb
画中有画1 小时前
自动化脚本中如何启动/打开app的某个页面
运维·自动化
我星期八休息2 小时前
Linux—五种IO模型与非阻塞IO
linux·运维·服务器·网络·数据库·网络协议
hweiyu002 小时前
Linux命令:column
linux·运维·服务器
日常筹谋记2 小时前
ATS选不对运维两行泪:数据中心市电与柴发切换场景的双电源自动转换开关选型笔记
运维·数据库·笔记
绿蚁新亭2 小时前
Markdown Wiki 网页代码块复制至欧拉 Linux Shell 脚本隐形字符故障完整复盘
linux·运维·服务器
mengge.cloud2 小时前
LVS 小白完整教程(Linux虚拟服务器负载均衡)
linux·运维·服务器·负载均衡·lvs
江湖有缘2 小时前
跨平台AI终端Wave:智能SSH与文件管理
运维·人工智能·ssh
夏贰四3 小时前
管控数据加载调度如何规避任务冲突?数据加载运维监控体系该如何搭建?
java·大数据·运维
搬砖的小码农_Sky3 小时前
LANDrop 在 Ubuntu 上的安装方法
linux·运维·计算机网络·ubuntu