批处理中的 echo 命令
在 Windows 中,echo
命令在命令行上显示消息。除了 Command shell 和 PowerShell,它还可以在许多其他操作系统 shell 中使用,例如 DOS、OS/2、ReactOS 和其他 Unix 和类 Unix 操作系统。
如今,它主要用于 shell 脚本和批处理文件。让我们讨论 Batch 的 echo
命令及其选项。
批处理使用 echo
命令
echo
命令是一个内部命令,用于打印屏幕上的文本或打开或关闭命令回显。它不设置 errorlevel
或清除 errorlevel
。
在运行批处理文件时执行的每个命令都会与输出一起显示在命令行上。当我们运行一个批处理文件时,所有的命令都是按顺序逐行执行的。
使用 echo
命令,即使使用 echo 命令本身,我们也可以关闭命令提示符中命令的回显。
语法:
echo [on | off]
echo <message>
echo /?
on
- 显示命令和输出。off
- 隐藏命令并且只显示输出。message
- 要打印的文本。
如果你在没有任何参数或选项的情况下键入 echo
,它将显示 echo
命令的状态(即打开或关闭)。在批处理文件中,它主要用于关闭命令的回显并仅显示输出,而 echo on
命令在调试批处理文件时很有用。
要检查 echo 命令或 echo 设置的状态,请在命令提示符下执行以下命令。
echo
输出:
要关闭命令的回显,请在批处理文件的顶部添加 echo off
。
echo off
ipconfig
PAUSE
输出:
但是,上述命令将在命令提示符中显示 echo off
行。要隐藏此行,请在 echo off
的开头添加@
。
@echo off
ipconfig
PAUSE
输出:
使用 echo
命令打印消息
echo
命令还可以在批处理文件中执行命令时显示消息。
@echo off
echo hello world
echo this is an example of how to print a message using the echo command.
cmd /k
输出:
你还可以在同一个批处理文件中同时使用 echo on
和 echo off
。有时,你可能需要关闭某些命令的回显并打开其他命令的回显。
在这种情况下,你可以同时使用 echo on
和 echo off
,如下例所示。
@echo off
echo hello world
echo Here, the echoing is turned off i.e. no commands are shown.
@echo on
echo Hello
echo Here, the echoing is on i.e. commands are shown along with the output
cmd /k
输出:
echo
批处理文件中的新行或空白行
要在批处理文件中回显
新行或在单独的行中显示消息,在命令之间使用 echo.
或 echo:
来添加一个新的行。这两个命令的输出将是相同的。
示例 - 1:
@echo off
echo hello
echo:
echo world
echo this will add a blank line between hello and world
cmd /k
示例 - 2:
@echo off
echo hello
echo.
echo world
echo this will add a blank line between hello and world
cmd /k
输出:
echo
文本到文件中
要将消息回显到文本文件中,请执行以下命令。
echo this line will be saved to a text file > testfile.txt
你也可以使用 echo
命令创建一个空文件。要创建一个空文件,请执行以下命令。
echo. 2>testfile.txt
使用 echo
命令回显变量
要使用 echo 命令回显变量,请执行以下命令:
ECHO %OS%
cmd /k
建议使用 echo:
代替下面给出的空格,尽管它有一些限制。但是,两者的输出将相同。
ECHO:%OS%
cmd /k
这是因为如果你使用空格,它可能会以 echo on
或 echo off
的形式执行命令,而不是显示变量的值。如下例所示,如果变量的值设置为关闭,使用空格会将其视为 echo off
并关闭回显。
相反,如果我们使用 echo:
,它只会显示变量的值。
示例 - 1:
Set test=OFF
Echo %test%
echo echo is turned off instead of displaying the value
cmd /k
输出:
示例 - 2:
Set test=OFF
Echo:%test%
echo the value is displayed
输出:
回显系统路径
要在新行中回显路径中的每个项目,请执行以下命令。
ECHO:%PATH:;= & ECHO:%
输出:
使用带有转义命令字符的 echo
命令
当你将 echo
命令与命令字符一起使用时,例如重定向(&
)和管道(|
,on
,off
)字符,默认情况下,命令字符将位于 echo
之前命令。为了避免这种情况,我们需要在使用命令字符时使用转义字符(:
、^
)。
分别在每个命令字符的命令字符前添加转义字符。
@echo off
ECHO Here, the escape character is used for the ^& character like Mickey ^& Mouse
ECHO file1 ^| file2 ^| file3
输出:
结论
我们已经讨论了 echo
命令并涵盖了几乎所有内容以及示例。出于各种原因,它是一个非常有用的命令,用于批处理文件,如上面的示例中所述。