初识bat脚本
什么是bat脚本
BAT 脚本(又称批处理脚本)是扩展名为 .bat 或 .cmd 的文本文件,主要用于 Windows 系统。它将一系列命令组合在一起,实现自动化执行,类似于 Unix/Linux 中的 Shell 脚本。
目前 Windows 中的批处理主要分为两类:
- DOS 批处理:基于传统的 Windows DOS 命令,用于自动执行批量命令。
- PowerShell 脚本:基于 .NET 框架,功能更强大,但语法与 DOS 批处理不同。
本文主要介绍传统的 DOS 批处理脚本。
BAT脚本的作用
提高效率:将重复性、繁琐的任务自动化,例如批量重命名、文件备份、环境配置等。
简化操作:通过一个脚本完成多个步骤,降低人工出错概率。
系统管理:可用于创建简单的安装程序、启动多个程序、配置系统设置等。
基础命令详解
注意:所有命令不区分大小写,但建议保持统一风格。
中文乱码解决
若脚本中包含中文,运行可能出现乱码。两种常见解决方法:
- 更改代码页:在脚本首行添加
@chcp 65001 >nul,将控制台代码页设为 UTF-8。 - 转换文件编码:将脚本文件另存为 ANSI 编码(Windows 默认的 GBK 编码)。
echo —显示文本
echo hello world
作用:在控制台输出指定的字符串。
pause —暂停脚本
echo hello world
pause
作用:暂停脚本执行,并显示“请按任意键继续…”。常用于查看中间结果,不会立刻关闭控制台。
echo off —关闭命令回显
echo off
echo 123
echo 456
作用:禁止显示后续命令本身,但 echo off 这一行仍会显示。通常与 @ 结合使用。
@ —隐藏当前行命令
@echo off
echo 123
echo 456
作用:加在命令前,使该命令本身不显示。通常 @echo off 一起用,使后续命令不显示。
rem 和 :: —注释
@echo off
rem echo 123 :: 此行被注释,不会执行
:: echo 456 等效注释
echo 789
作用:rem 和 :: 后面的内容为注释,不执行。:: 是 rem 的简便写法。
set —设置变量
@echo off
set a=word
echo %a%
pause
作用:定义变量,使用时需用 % 包围变量名。
注意:等号两边不要加空格,变量仅在当前命令行窗口有效。
call —调用另一个批处理文件
@echo off
echo 尝试调用cs2文件第1次。
call cs2.bat
echo 尝试调用cs2文件第2次。
call G:\cs2.bat
cs2.bat 内容:
@echo off
echo 成功。
作用:调用另一个批处理文件,执行完毕后返回原脚本继续。
start —启动新窗口运行程序
@echo off
:: 打开百度
explorer http://www.baidu.com
:: 打开D盘
start explorer d:\
:: 打开新的命令提示符窗口
start cmd
pause
作用:以新窗口运行指定程序或命令,不阻塞当前脚本。
set /p —接收用户输入
@echo off
set /p var=请输入内容:
echo 您输入的内容为 %var%
pause
作用:等待用户输入,并将输入值赋给变量。常用于交互式脚本。
goto —跳转到指定标签
@echo off
set /p input=请输入字母A或B:
if "%input%"=="A" goto A
if "%input%"=="B" goto B
echo 您没有输入字母或者输入的不是A或B
pause
exit
:A
echo 这里是A
pause
exit
:B
echo 这里是B
pause
exit
作用:根据条件跳转到 :标签 处执行,实现分支结构。
timeout —延迟执行
@echo off
echo 当前时间【%time%】
timeout /nobreak /t 10
echo 延时后的时间【%time%】
pause
作用:等待指定的秒数(/t 参数),/nobreak 表示不允许按键中断(可选)。-1 表示无限等待。
cls —清屏
cls
作用:清除控制台屏幕上的所有内容,将光标置于左上角。
总结
BAT 脚本是 Windows 环境下简单而实用的自动化工具。掌握以上基础命令,即可编写脚本处理日常重复性工作,提高效率。随着需求复杂化,还可以学习条件判断、循环、文件操作等高级用法。
提示:编写脚本时注意使用
@echo off隐藏命令回显,并通过注释增强可读性。若需更强大的功能,可考虑学习 PowerShell。

浙公网安备 33010602011771号