首页/系统/Windows 运维速查/echo 输出与回显控制
CMD 常用命令74 条

echo 输出与回显控制

显示文本、控制批处理是否回显命令、输出变量与空行:批处理日志与用户提示的基础机关。

Windows 运维速查系统更新于 2026-10-13

命令是干什么的

echo 负责三件事:显示文本、控制批处理是否回显每条命令、输出空行。它是批处理日志与用户提示的基础:首行 @echo off 关掉命令回显,中间用 echo 打印进度与变量值,echo. 输出空行分隔段落。

为什么要写 @echo off

批处理默认会把每条执行的命令原样打印出来,输出里命令与结果混杂,日志难以阅读。行首的 @ 表示这一行本身不回显,因此第一行写 @echo off 既关闭后续回显,也不打印这条命令自己,这是几乎所有 .bat 脚本的第一行。

基本信息

适用平台Windows 全版本 CMD(Windows 7/10/11 与各版 Server)
语法echo [on|off|文本];echo. 输出空行;@echo off 关闭命令回显
常见用途打印进度与变量、控制回显、输出空行
变量输出echo %变量%;变量未定义时原样输出 %变量%

典型使用场景

  • 批处理首行关闭回显,让日志只保留有用输出
  • 打印当前时间与执行阶段,便于事后定位失败位置
  • 输出变量值,核对参数传递是否正确
  • 用空行分隔日志段落,提升长日志的可读性
  • 向交互用户给出进度或确认提示

常用示例

常用示例
@echo off                          # 关闭回显,且本行也不显示
echo ==== 备份开始 ====
echo 当前时间: %date% %time%
echo.
echo 错误码: %ERRORLEVEL%
echo 脚本目录: %~dp0

写法读法

写法作用说明
@echo off关闭后续命令回显首选写在批处理第一行
echo 文本输出文本显示到控制台或日志文件
echo.输出空行点号必须紧跟 echo,中间不能有空格
echo off关闭回显单独执行会显示自身的回显状态
echo %var%输出变量变量未定义时原样输出 %var%
echo ^&输出特殊字符& | > < 等需用 ^ 转义
echo off 之后的命令不再回显;要让这条命令本身也不显示,用 @echo off,两者常一起写在批处理第一行。需要写入文件时配合重定向,例如 echo 内容 >> log.txt 追加记录。
echo 文本含 & | > < 等特殊字符时会被当作重定向或管道解释:必须用 ^ 转义或整体加引号,否则轻则输出错误,重则误写文件。

易错点

  • echo 文本含 & | > < 等特殊字符未转义,会被解释成重定向或管道
  • 变量未定义时 echo %var% 原样输出 %var%,判断是否存在要用 if defined
  • echo. 写成 echo . 会输出一个点号而不是空行
  • 批处理里忘了 @echo off,日志被命令回显淹没,难以定位问题

数据来源与参考

  • Microsoft Learn:echo 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌