windows echo命令在批处理编程中是如何工作的

deyfvvtc  于 2022-11-18  发布在  Windows
关注(0)|答案(3)|浏览(266)

我已经开始学习批处理编程,以便在Windows机器上更深入一点。在互联网上,我看到一些带有echo的命令,如**"@echo off”“on”,还有这个:“echo."**但我不知道他们在做什么.如果有人能解释我echo命令的功能,请回答我.

lyfkaqu1

lyfkaqu11#

Windows CMD中的ECHO命令用于将文本打印到屏幕上,显示命令行的实际设置,这意味着:

@echo off

命令输入前的**“C:\Users[User]"**行将消失。您可以使用以下命令恢复它:

@echo on

这里解释了ECHO的所有功能:

*@echo [on/off](设置命令行设置)
*echo [文本](将文本打印到屏幕)
*echo.(将空行打印到屏幕上)
*echo(显示命令行的当前设置)
*echo /?(显示命令ECHO的帮助)

希望我能帮到你。

rkue9o1l

rkue9o1l2#

默认情况下,批处理文件中执行的每个命令也会回显到输出中-不仅是命令的输出,还有命令本身。
echo命令有三种模式:
1.当在空格之后使用某些参数调用时,它将输出参数。
1.当调用为echo.(无空格)时,它将只输出一个空行。
1.当仅使用参数on或off调用时,它控制在命令执行时打印命令的行为。
因此,echo off命令在批处理文件开始时关闭输出。然而,在关闭回显之前,该命令本身仍会被回显。@符号的作用是只关闭当前命令的输出。
将两者结合起来,批处理文件开头的@echo off会关闭回显,而不会回显自身。
由此可见,如果你只回显单词off,而不加引号,它将关闭命令打印。如果你试图通过引用单词"off"来解决这个问题,输出将包括引号。答案是,感谢@JeffZeitlin在下面的评论,是:
在一个可能很不寻常的情况下,只想回显单词off或on(即,不属于任何其他字符串的一部分),结果是echo.off和echo.on就可以做到这一点。

xwbd5t1u

xwbd5t1u3#

偏回答是这样的:What does "@" mean in Windows batch scripts
命令前的@表示在运行该命令时不打印该命令。
off参数告诉脚本不输出任何其他命令,但是如果没有@,将输出echo off(因为echo尚未关闭)
on参数将命令回显重新打开。
任何其他参数都只是回显到显示器

相关问题