我看到我们的某些批处理文件中使用了双@
,例如@@echo off
,据我所知,最初的第一个@
是多余的,我想删除它只有@echo off
。
我可以安全地这样做吗,或者它具有我不知道的隐藏含义?
答案 0 :(得分:4)
一个或多个@
禁用当前命令的回显。
如果回声模式已经关闭,则@
不再有特殊效果。
因此,要回答您的问题,可以删除多余的@
,一个就足够了。
答案 1 :(得分:2)
@
的作用是抑制重复执行的命令,包括命令echo off/on
和cmd
不在乎它被使用了多少次:
效果:
@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
只是抑制重复,然后抑制重复,即使它已经被抑制也不再起作用,即使它不再起作用。
因此,一个@
就可以了。