前言
一般会将繁琐的命令行操作写在一个脚本文件中,Windows 系统下,该脚本文件一般以 .cmd 或者 .bat 结尾,下面将称该文件为批处理文件。
一个通常的批处理文内容一般如下:
1 2 3 4 5 6 7 8 9 10 11
   | :: 关闭命令回显功能,执行命令时不会在控制台显示命令本身,仅显示结果 @echo off
  :: 启用延迟环境变量扩展。允许在循环或代码块中动态更新变量值(使用!var!代替%var%) setlocal enabledelayedexpansion
  :: 脚本代码正文 ipconfig
  :: 暂停等待用户输入,使用该命令后,双击批处理文件后就不会自动关闭命令行了 pause
   | 
注释
REM 关键字
这是 CMD 中最标准且兼容性最好的注释方式。REM 后的内容会被解释器忽略。
1 2
   | REM 这是一个单行注释 echo Hello World
   | 
:: 双冒号
双冒号本质上是无效的标签语法,但常被用作注释,比 REM 更简洁。
1 2
   | :: 这是另一种单行注释 echo Hello World
   | 
变量
分支
循环
脚本段
一种过程体,将功能封装起来,以便后续调用,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | :: 声明脚本段,以英文冒号开头带一个标识符,如下 :: 该示例中,即使不主动调用:ShowIpInfo,当脚本顺序执行到其时,也会执行其内部逻辑 :ShowIpInfo :: 该脚本段用于获取ip信息 echo 该脚本段用于获取ip信息 cls echo ========== ip info ========== ipconfig echo ========== ip info ========== pause exit /b
 
  :: 无条件跳转 :: 直接跳转到脚本中指定的标签位置,从标签后的代码继续执行,且不会自动返回原调用位置 :: 典型用途:实现循环、条件分支或错误处理 goto ShowIpInfo
 
  :: 调用子程序 :: 可以调用另一个批处理文件(外部脚本)或脚本内的标签段(内部子程序),执行结束后自动返回原调用位置继续执行后续代码 :: 典型用途:模块化代码、复用功能逻辑、传递参数 call ShowIpInfo
   | 
常用命令
1 2 3 4 5 6 7 8 9 10
   | :: 在命令行中输出内容 echo 内容
  :: 强制终止整个 CMD 会话(包括所有嵌套的脚本和进程)。 exit :: 仅退出当前批处理脚本或函数,不会终止父级脚本或 CMD 会话 exit /b :: 通过参数指定退出状态码,并将该状态码传递给 %ERRORLEVEL%,供调用者检测处理错误或逻辑分支 exit /b 1
 
   |