echo命令如何在批处理编程中工作
我已经开始学习批处理编程,以便在Windows机器中更深入一些。在互联网上,我看到一些带有回声的命令,如“@echo off”或“on”,还有:“echo”。但我不知道他们在做什么。如果有人能解释我的echo命令的功能,请回答我。echo命令如何在批处理编程中工作
echo命令用于文本打印输出到屏幕上,显示的命令行的实际设置,这意味着当你这样做:
@echo off
“C:\ Users [用户]”行之前您的命令输入将会消失。 可以与还原:
@echo on
这里ECHO的所有功能解释:
@echo [ON/OFF](设置命令行设置)
echo [text](将文字打印到屏幕上)
回声。(打印一个空行到屏幕)
回声(显示命令行的当前设置)
回声/?(显示ECHO命令的帮助)
我希望我能够帮助你。
我希望增加'@echo on'对调试批处理脚本也很有用,以便在某些事情看起来不起作用时查看发生了什么。 – elzooilogico
最好使用'echo(',就像dbenham所说的那样它总是起作用(https://stackoverflow.com/a/3123194)。 – Kappa
@elzooilogico是的,只适用于“命令”应用程序。但是如果你想创建一个UI ,如果你使用回声更好,因为它更舒适,更干净。 –
部分的答案是这样的:What does "@" mean in Windows batch scripts
命令手段之前,@运行时,不要打印命令。
off参数告诉脚本不输出任何其他命令,但是不将@输出的回波关闭(自呼应尚未关闭)
的上参数将命令回显上。
任何其他参数都只是回显到显示器
默认情况下,在批处理文件中执行的每个命令也会回显到输出 - 不仅仅是命令的输出,而是命令本身。
echo命令有三种模式:
- 当与一些参数调用的空间后,将输出的参数。
- 当调用
echo.
(无空格)时,它将输出一个空行。 - 当刚打开或关闭的参数调用,它控制打印命令,他们执行的行为。*
因此,echo off
命令关闭在批处理文件的开头输出。但是,该命令本身在它有机会关闭回显之前仍然有回应。 @符号的作用是仅关闭当前命令的输出。
将两者合并,在批处理文件开始时,@echo off
会关闭回声而不会自动回显。
(*我不知道我到底如何“开”或“关”输出的文本,但怀疑周围使用文本引号将改变行为。)
在大概不寻常的情况下,想要回显_just_单词** off **或** on **(即不是任何其他字符串的一部分),事实证明'echo.off'和'echo.on'有效。 –
@JeffZeitlin,它的工作原理与echo相同。 “。”不是空白字符,所以它不会将'echo.on'解析为'echo on'命令。利用“echo”命令假定参数字符串中的第一个字符是空白区域以跳过,除非在这种情况下它跳过了“。”。 – eryksun
非常有趣!我没有意识到这个回声。形式可以有更多的文字(也不一定是一段时间,因为卡帕指出了对不同答案的评论)。行情只是回应输出,所以猜测是不好的。 – Harun
回声控制输出。如果你不想看到任何批处理文件运行的命令,你可以调用“echo off”。如果你不想看到命令自己回显,你可以在它之前加上'@'。 – Tamar
你可以通过键入命令并在'/?'后面找到任何批处理命令的用途和用法 - 在这种情况下,你应该输入'echo /?' – SomethingDark