结果
@echo off
以上代码,经常出现在bat或者cmd文件的第一行,他是用来干嘛的?
我们先运行一段代码:
echo 孙华贵
pause
把以上代码保存成bat或者cmd文件,注意编码选择ansi。
得到以下结果:
C:\Users\87892\Desktop>echo 孙华贵
孙华贵
C:\Users\87892\Desktop>pause
请按任意键继续. . .
你会发现,完全不是自己想要的结果,我们就想显示孙华贵,然后显示请按任意键继续. . .
为什么偏偏不按照我们的要求来呢?因为默认的是会显示命令的,比如C:\Users\87892\Desktop>pause和C:\Users\87892\Desktop>echo 孙华贵
这个没有办法默认会显示,所以我们为了把这些多余的去掉,只有加上@echo off
我们可以把代码修改为:
@echo off
echo 孙华贵
pause
结果就如下面的了:
孙华贵
请按任意键继续. . .
也就是把C:\Users\87892\Desktop>pause和C:\Users\87892\Desktop>echo 孙华贵 去掉了,不显示了,就起个这个作用。而且这个@echo off 他只能管到后面的,管不到前面的。
比如我写这样的代码:
echo 孙小贵
@echo off
echo 孙华贵
pause
你们猜猜运行结果如何?
如下:
C:\Users\87892\Desktop>echo 孙小贵
孙小贵
孙华贵
请按任意键继续. . .
即便加了@echo off 后面的是不显示了,但是前面的C:\Users\87892\Desktop>echo 孙小贵 还是显示了出来。所以他只能管后面的,不能管前面的。
如果我们只需要某行不显示命令和路径呢?
请看下面的代码:
@echo 孙小贵
echo 孙华贵
pause
运行结果如下:
孙小贵
C:\Users\87892\Desktop>echo 孙华贵
孙华贵
C:\Users\87892\Desktop>pause
请按任意键继续. . .
我们可以发现没有显示echo 孙小贵这个命令,所以你在某行的前面加@就可以让这行命令不显示出来。所以我们没有办法,默认要显示,我们不让他显示就需要加上@或者@echo off,这样就会让代码的运行结果更满足我们的预期。