cd …

这个命令基本都知道:返回上一层目录,这将作为以后测试命令是否起作用的指令。

看例子:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体


结果:

安装脚本echo内容使用绿色字体 bat脚本echo_echo和at作用_02


PS: 可以不用空格,直接用cd…

echo

基本功能演示

基本功能:控制命令是否回显,屏幕原样返回文本。

先看一个例子:

安装脚本echo内容使用绿色字体 bat脚本echo_at作用_03


结果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_04


从上面我们可以看到三点:

  1. bat命令本身默认会显示在命令行中,本例中的“echo hello world”和上例中的“cd …”都证明了这一点,即bat脚本指令本身默认会“回显”,这和echo命令本身没有任何关系(由于echo的功能原因,这一点要理清)
  2. echo将后面紧跟着的内容全部视为字符串,并会原样打印出该字符串(类似C中printf效果),即使echo后面紧跟着的是正常的指令(如图中的cd …),echo也只是将其作为普通的字符串处理,会打印但并不会执行。
echo off

上面我们已经看到——bat脚本指令本身默认会“回显”,那如果我们不想命令本身回显,只想看到命令执行的效果怎么办,例如现在我只想屏幕打印出

hello world

不要“echo hello world”

好,看下面代码:

安装脚本echo内容使用绿色字体 bat脚本echo_at作用_05


效果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_06


看到没有,echo off之后,代码中的:

echo hello world
echo pause

都没有在命令行中显示,全是直接显示了命令的效果:直接打印“hello world”和进行暂停。
实际上,如果后面有1000行代码,在命令行中都会显示了,因为这就是echo off的作用——关闭命令行的指令回显

echo on

相应地,如果想重新开启指令回显,则需要使用echo on重新打开,这很好理解。

但是有个有趣的小细节,再看一下echo off:

安装脚本echo内容使用绿色字体 bat脚本echo_at作用_05


效果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_06


echo off命令本身还是进行回显了,这很好理解,echo off之前系统是默认指令回显的,所以echo off回显了,其生效时间是在这条指令执行之后,所以之后的所有命令都不进行回显。

那么下面这个例子:

安装脚本echo内容使用绿色字体 bat脚本echo_echo和at作用_09


效果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_10


echo on 本身没有回显,这也好理解,在echo on之前,回显是关闭的(echo off),一直到echo on生效时间是在本条指令之后,故本身还是“隐身”状态。

用echo来查看echo开关状态

单独echo命令可以查看echo当前的开关状态:

安装脚本echo内容使用绿色字体 bat脚本echo_bat脚本_11


结果:

安装脚本echo内容使用绿色字体 bat脚本echo_echo和at作用_12

如果连echo off都不想看到呢 —— @

这是使用echo off的效果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_06


怎么实现这样的效果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_14


这就用到另外一个手动关闭回显的指令 —— @,简单来说,在任何指令之前加上@,那么这条指令就不会进行回显,示例:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_15


结果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_16


对比一下直接“cd …的效果”:

安装脚本echo内容使用绿色字体 bat脚本echo_echo和at作用_02


那么上面的需求就很好实现了 —— 用@关闭echo off指令本身的回显即可:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_18


效果:

安装脚本echo内容使用绿色字体 bat脚本echo_echo作用_19


当然,也可以直接通过手动@所有的指令,让所有指令关闭回显:

安装脚本echo内容使用绿色字体 bat脚本echo_echo作用_20


效果:

安装脚本echo内容使用绿色字体 bat脚本echo_echo作用_19

echo和@的适用场合

通过上面也可以看出,echo off一旦关闭,则后续所有命令都会停止回显,这适用于完整的代码屏蔽,而@适用于echo on的状态下对于个别命令的隐身,当然,对于echo off本身的隐身还是挺有用处(强迫症患者),比较灵活。

当然,这里提一个@ + echo的妙用 —— 提示信息。

安装脚本echo内容使用绿色字体 bat脚本echo_at作用_22


效果:

安装脚本echo内容使用绿色字体 bat脚本echo_安装脚本echo内容使用绿色字体_23