第一部分:基础入门实例
这些实例涵盖了最核心、最常用的命令,适合初学者快速上手。

实例 1:你好,世界!
这是所有编程语言的第一个例子,在批处理中非常简单。
代码 (hello.bat)
@echo off echo 你好,世界! pause
代码解释
@echo off: 关闭命令回显,这样运行脚本时,就不会先显示echo 你好,世界!这一行本身,只会显示结果。echo 你好,世界!: 在控制台打印 "你好,世界!" 这段文字。pause: 暂停脚本的执行,并显示 "请按任意键继续. . .",这很有用,可以让你看清输出结果,然后窗口不会一闪而过。
实例 2:变量赋值与使用
批处理可以处理变量,实现简单的数据存储。

代码 (variable_demo.bat)
@echo off :: 定义一个变量名为 NAME,并赋值为 "张三" set NAME=张三 echo 你好, %NAME%! :: 定义一个数字变量 set NUM=100 echo 计算结果是: %NUM% pause
代码解释
set NAME=张三: 定义一个名为NAME的变量,并赋值为 "张三"。注意: 等号 两边不能有空格。%NAME%: 使用变量时,需要在变量名前后加上百分号 。- 或
rem: 这两个都是注释符号,后面的内容不会被脚本执行。 更常用,因为它不会在echo on时显示出来。
实例 3:用户输入
通过 set /p 命令,可以与用户进行交互,获取输入内容。
代码 (user_input.bat)

@echo off set /p PNAME=请输入你的名字: echo 你好, %PNAME%! 欢迎使用批处理脚本。 pause
代码解释
set /p PNAME=请输入你的名字:: 这行会显示请输入你的名字:并等待用户输入,用户输入的内容将被赋值给变量PNAME。/p参数专门用于提示用户输入。
实例 4:基本算术运算
批处理支持简单的整数算术运算。
代码 (math.bat)
@echo off set /a a=10 set /b b=20 set /c c=%a% + %b% echo a + b = %c% set /d d=%a% * 2 echo a * 2 = %d% pause
注意: 现代批处理中,set /a 是进行算术运算的标准方式,上面的 /b 和 /d 是为了展示,但 set /a 是最通用的。
更正的通用写法:
@echo off set /a a=10 set /a b=20 set /c_result=%a% + %b% echo a + b = %c_result% set /a d=%a% * 2 echo a * 2 = %d% pause
代码解释
set /a:/a参数告诉set命令后面的字符串是一个要计算的算术表达式。- , , , , (取模) 等运算符都支持。
- 在表达式中使用变量时,可以省略百分号,如
set /a sum=a+b。
实例 5:if 条件判断
if 命令是脚本逻辑的核心,用于根据条件执行不同的代码。
代码 (if_demo.bat)
@echo off
set /p age=请输入你的年龄:
if %age% LSS 18 (
echo 你是未成年人。
) else if %age% LSS 60 (
echo 你是成年人。
) else (
echo 你是老年人。
)
pause
代码解释
if ... (...) else (...): 这是if的基本结构,如果条件为真,则执行 里的代码。%age% LSS 18: 这是一个条件判断。LSS: 小于 (Less)LEQ: 小于或等于 (Less or EQuaL)EQU: 等于 (EQuaL)NEQ: 不等于 (Not EQuaL)GTR: 大于 (GreaTer)GEQ: 大于或等于 (Greater or EQuaL)
else if在批处理中没有直接的关键字,需要用嵌套的if实现,如上例所示。
实例 6:for 循环
for 循环用于重复执行一段代码。
代码 (for_demo.bat)
@echo off
echo 遍历一个简单的列表:
for %%i in (苹果 香蕉 橙子) do (
echo 水果是: %%i
)
echo.
echo 从 1 数到 5:
for /l %%j in (1,1,5) do (
echo 数字是: %%j
)
pause
代码解释
for %%i in (...) do (...): 这是for循环的基本结构。%%i: 循环变量,在批处理文件中必须使用两个百分号 ,如果在命令行直接运行,则只用一个 。in (...): 括号里是要遍历的列表。do (...): 对列表中的每一项执行的操作。
for /l:/l参数用于创建一个数值循环。in (起始值, 步长, 结束值): 上面例子中,从 1 开始,每次加 1,到 5 结束。
第二部分:进阶实用实例
这些实例结合了多个命令,解决实际工作中的问题。
实例 7:一键清理系统临时文件
这是一个非常实用的脚本,可以帮你清理系统垃圾文件。
代码 (clean_temp.bat)
@echo off echo 正在清理系统临时文件... echo. :: 清理用户临时文件夹 echo 清理用户临时文件夹... rd /s /q "%temp%" md "%temp%" :: 清理系统临时文件夹 (需要管理员权限) echo 清理系统临时文件夹... rd /s /q "C:\Windows\Temp" md "C:\Windows\Temp" echo. echo 清理完成! pause
代码解释
rd /s /q "文件夹路径":rd(RMDIR): 删除目录。/s: 递归删除,删除指定目录及其下的所有文件和子目录。/q: 安静模式,不询问是否确认。
md "文件夹路径": 创建目录,删除后立即创建,可以防止某些程序因找不到目录而出错。%temp%: 这是一个系统变量,指向当前用户的临时文件夹路径。
实例 8:批量重命名文件
这个脚本可以将一个文件夹里所有的 .txt 文件重命名为 .doc 文件。
代码 (rename_files.bat)
@echo off
set "source_dir=C:\path\to\your\files" <--- !!! 请务必修改为你的文件夹路径 !!!
:: 检查目录是否存在
if not exist "%source_dir%" (
echo 错误:目录 "%source_dir%" 不存在!
pause
exit /b
)
echo 准备在 "%source_dir%" 目录下重命名 .txt 文件为 .doc 文件...
echo.
cd /d "%source_dir%"
for %%f in (*.txt) do (
echo 正在重命名 "%%f" -> "%%~nf.doc"
ren "%%f" "%%~nf.doc"
)
echo.
echo 重命名完成!
pause
代码解释
set "source_dir=...": 设置要操作的文件夹路径。请务必修改为你自己的路径。if not exist ...: 检查目录是否存在,如果不存在则报错并退出。cd /d "%source_dir%": 切换到目标目录。/d参数允许同时切换驱动器和目录。for %%f in (*.txt) do (...): 遍历当前目录下所有以.txt结尾的文件。%%f: 代表完整的文件名,report.txt。%%~nf: 这是一个文件名修饰符。%%~nf表示文件名(不带扩展名),report。ren "%%f" "%%~nf.doc":ren(RENAME) 命令,将%%f重命名为%%~nf.doc。
实例 9:检查文件是否存在并执行操作
这是一个常见的逻辑判断,用于检查关键文件是否存在。
代码 (check_file.bat)
@echo off
set "config_file=C:\Program Files\MyApp\config.ini"
if exist "%config_file%" (
echo 找到配置文件: %config_file%
echo 正在启动应用程序...
:: 在这里启动你的程序,
:: start "" "%ProgramFiles%\MyApp\myapp.exe"
) else (
echo 错误:找不到配置文件 %config_file%
echo 请检查文件路径是否正确。
)
pause
代码解释
if exist "文件路径": 检查指定的文件或目录是否存在。start "" "程序路径":start命令用于启动一个程序,第一个引号 是给窗口标题预留的,可以为空,第二个引号"程序路径"是要执行的程序的完整路径。
实例 10:带菜单的选择界面
创建一个交互式的菜单,让用户选择要执行的操作。
代码 (menu_demo.bat)
@echo off :MENU cls echo. echo ============ 系统维护工具 ============ echo. echo 1. 清理临时文件 echo 2. 查看IP地址 echo 3. 退出 echo. echo ===================================== echo. set /p choice=请输入你的选择 (1/2/3): if "%choice%"=="1" goto CLEAN_TEMP if "%choice%"=="2" goto SHOW_IP if "%choice%"=="3" exit /b echo 无效的选择,请重新输入。 pause goto MENU :CLEAN_TEMP echo 你选择了 "清理临时文件" :: 这里可以调用实例7的代码 rd /s /q "%temp%" >nul 2>&1 md "%temp%" >nul 2>&1 echo 临时文件已清理。 pause goto MENU :SHOW_IP echo 你选择了 "查看IP地址" ipconfig pause goto MENU
代码解释
MENU: 定义一个名为MENU的标签。goto命令可以跳转到标签所在的位置。cls: 清空屏幕。set /p choice=...: 获取用户的选择并存储在choice变量中。if "%choice%"=="1" goto CLEAN_TEMP: 如果用户输入1,则跳转到CLEAN_TEMP标签处执行。>nul 2>&1: 这是一个重定向,将命令的输出(包括错误输出)全部丢弃,使pause前的提示更干净。exit /b: 退出当前脚本。/b表示退出批处理文件,而不是关闭整个命令行窗口。
如何运行批处理文件?
- 将上述代码复制到文本编辑器(如记事本)中。
- 将文件另存为,文件名后缀必须是
.bat,hello.bat。 - 双击运行这个
.bat文件即可。 - 如果需要管理员权限,可以右键点击文件,选择“以管理员身份运行”。
希望这些实例能帮助你理解和使用批处理命令!
