123

熟悉 windows/dos 批处理脚本的人会认出这一行:

@echo off

在很多很多天里,我对这样的情绪感到满意,那@就是应该如何echo off写在批次的顶部,仅此而已。

但是,最近我遇到这样的一行:

@php foo bar

和这样的另一行

@call \\network\folder\batch.bat

这加强了我的怀疑,@这不仅仅是echo模式切换。但是@未在Windows XP 中列出:我尝试将其用作参考的命令行参考 AZ,因此我不确定如何找到关于此的明确信息:

什么是@批号,它的术语是什么,它有什么作用?

4

3 回答 3

179

在符号 - @

@ symbol告诉命令处理器不那么冗长;只显示命令的输出而不显示它正在执行或与执行相关的任何提示。使用时,它会添加到命令的开头,“@”和命令之间没有必要留空格。

当“echo”设置为“off”时,没有必要使用“@”,因为将“echo”设置为“off”会导致此行为变为自动。当脚本开始执行时,“Echo”通常默认设置为“on”。这就是通常使用“@echo off”的原因,用于关闭回声而不显示关闭它的行为。

echo verbose
@echo less verbose
pause
于 2014-01-12T16:28:07.883 回答
0

所以简单来说,主要是想象一下,如果我们这样做了@echo off,它会显示回声对吗?,好吧,@你可以让它不显示它,希望这有帮助!

于 2022-02-21T16:40:45.953 回答
-1

放置在开头的“at”符号不仅隐藏了命令,对于某些命令,它还可以用于附加存储在文本文件中的命令参数。语法是exe @commands.txt. armclang.exe例如支持此选项。

于 2019-12-10T09:52:18.957 回答