在Windows批处理文件中,@@ echo off中的双'@'意味着不是@echo off吗?

时间:2019-11-14 11:56:17

标签: batch-file

我看到我们的某些批处理文件中使用了双@,例如@@echo off,据我所知,最初的第一个@是多余的,我想删除它只有@echo off

我可以安全地这样做吗,或者它具有我不知道的隐藏含义?

2 个答案:

答案 0 :(得分:4)

一个或多个@禁用当前命令的回显。
如果回声模式已经关闭,则@不再有特殊效果。

因此,要回答您的问题,可以删除多余的@,一个就足够了。

答案 1 :(得分:2)

@的作用是抑制重复执行的命令,包括命令echo off/oncmd不在乎它被使用了多少次:

效果:

@echo off
ping localhost
ping google
echo test string

与以下内容完全相同:

@@@@@@@@echo off
ping localhost
ping google
echo test string

@ping localhost
@ping google
@echo test string

甚至:

@(ping localhost
ping google
echo test string
)

从技术上讲,@@somecommand只是抑制重复,然后抑制重复,即使它已经被抑制也不再起作用,即使它不再起作用。

因此,一个@就可以了。