初识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 编码)。
image-20240514095028625

echo —显示文本

echo hello world

作用:在控制台输出指定的字符串。

image-20240513083532050

pause —暂停脚本

echo hello world
pause

作用:暂停脚本执行,并显示“请按任意键继续…”。常用于查看中间结果,不会立刻关闭控制台。

image-20260303191000940

echo off —关闭命令回显

echo off
echo 123
echo 456

作用:禁止显示后续命令本身,但 echo off 这一行仍会显示。通常与 @ 结合使用。

image-20260303193834185

@ —隐藏当前行命令

@echo off
echo 123
echo 456

作用:加在命令前,使该命令本身不显示。通常 @echo off 一起用,使后续命令不显示。

image-20240513084818752

rem 和 :: —注释

@echo off
rem echo 123      :: 此行被注释,不会执行
:: echo 456       等效注释
echo 789

作用:rem:: 后面的内容为注释,不执行。::rem 的简便写法。

image-20240513085640230

set —设置变量

@echo off
set a=word
echo %a%
pause

作用:定义变量,使用时需用 % 包围变量名。
注意:等号两边不要加空格,变量仅在当前命令行窗口有效。

image-20240516084210102

call —调用另一个批处理文件

@echo off
echo 尝试调用cs2文件第1次。
call cs2.bat
echo 尝试调用cs2文件第2次。
call G:\cs2.bat

cs2.bat 内容:

@echo off
echo 成功。

作用:调用另一个批处理文件,执行完毕后返回原脚本继续。

image-20240513102854356

start —启动新窗口运行程序

@echo off
:: 打开百度
explorer http://www.baidu.com
:: 打开D盘
start explorer d:\
:: 打开新的命令提示符窗口
start cmd
pause

作用:以新窗口运行指定程序或命令,不阻塞当前脚本。

image-20240902093506196

set /p —接收用户输入

@echo off
set /p var=请输入内容:
echo 您输入的内容为 %var%
pause

作用:等待用户输入,并将输入值赋给变量。常用于交互式脚本。

image-20240604085600876

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

作用:根据条件跳转到 :标签 处执行,实现分支结构。

image-20240603160212771

timeout —延迟执行

@echo off
echo 当前时间【%time%】
timeout /nobreak /t 10
echo 延时后的时间【%time%】
pause

作用:等待指定的秒数(/t 参数),/nobreak 表示不允许按键中断(可选)。-1 表示无限等待。

image-20240604092514512

cls —清屏

cls

作用:清除控制台屏幕上的所有内容,将光标置于左上角。


总结

BAT 脚本是 Windows 环境下简单而实用的自动化工具。掌握以上基础命令,即可编写脚本处理日常重复性工作,提高效率。随着需求复杂化,还可以学习条件判断、循环、文件操作等高级用法。

提示:编写脚本时注意使用 @echo off 隐藏命令回显,并通过注释增强可读性。若需更强大的功能,可考虑学习 PowerShell。

posted @ 2024-06-04 15:54  克峰同学  阅读(239)  评论(0)    收藏  举报