基础打印方法
@echo off
:: 打印普通文本
echo 这是一条普通信息
:: 打印空行(两种方法)
echo.
echo:
:: 打印特殊字符(如 > < | &)
echo 特殊符号 ^> ^< ^| ^&
:: 打印变量值
set name=张三
echo 姓名:%name%
彩色文本打印(Windows 10/11 支持)
:: 格式:echo [ESC][颜色代码m文本[ESC][0m
echo 默认颜色文本
echo [ESC][91m红色文本[ESC][0m
echo [ESC][92m绿色文本[ESC][0m
echo [ESC][93m黄色文本[ESC][0m
echo [ESC][94m蓝色文本[ESC][0m
注意:将
[ESC]
替换为实际的 ESC 字符(ASCII 27),在批处理中可以用<nul set /p "=ESC["
或直接输入echo
+Alt+27
(按住 Alt 键,输入 027 后松开)
高级打印技巧
:: 多行文本打印
(
echo 第一行文本
echo 第二行文本
echo 第三行文本
)
:: 带时间的日志
echo [%date% %time%] 日志信息 >> log.txt
:: 进度条(简单版)
echo 正在处理...
echo|set /p="[#### ] 30%%" <nul
ping -n 2 localhost >nul
echo|set /p="[######## ] 60%%" <nul
ping -n 2 localhost >nul
echo|set /p="[############ ] 90%%" <nul
ping -n 2 localhost >nul
echo [############ ] 100%%
完整示例
@echo off
title 信息打印示例
:: 初始化颜色变量
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
:: 打印彩色标题
echo %DEL%[93m
echo ==================================
echo 批处理文件信息打印示例
echo ==================================
echo %DEL%[0m
:: 打印系统信息
echo %DEL%[92m系统信息:%DEL%[0m
echo 计算机名: %COMPUTERNAME%
echo 用户名: %USERNAME%
echo 系统版本: %OS%
:: 打印带格式的内容
echo.
echo %DEL%[94m=== 处理进度 ===%DEL%[0m
echo|set /p="正在初始化..." <nul
ping -n 2 localhost >nul
echo 完成!
echo|set /p="正在处理数据 %DEL%[93m[##### ] 50%% %DEL%[0m" <nul
ping -n 3 localhost >nul
echo 完成!
echo|set /p="正在保存结果 %DEL%[92m[########### ] 95%% %DEL%[0m" <nul
ping -n 2 localhost >nul
echo %DEL%[92m[############] 100%% %DEL%[0m
:: 完成提示
echo.
echo %DEL%[92m操作成功完成!%DEL%[0m
echo 完成时间: %date% %time%
pause
注意事项
- 使用
@echo off
关闭命令回显,只显示需要输出的信息 - 对于包含特殊字符的文本,使用
^
进行转义 echo.
或echo:
可以打印空行- 如需打印到文件,使用
echo 信息 >> 文件名.txt
- 彩色文本需要 Windows 10 及以上版本支持
提示:对于复杂的文本输出,可以考虑使用 VBScript 或 PowerShell 结合批处理实现更丰富的效果