bat脚本积累(二)—— echo与@

本文深入解析批处理命令的使用技巧,包括如何控制命令回显、使用echo和@符号实现指令隐身,以及如何检查echo的当前状态。通过实例展示了echooff和echoon的使用场景,以及如何利用@符号对特定命令进行回显关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cd …

这个命令基本都知道:返回上一层目录,这将作为以后测试命令是否起作用的指令。
看例子:
在这里插入图片描述
结果:
在这里插入图片描述
PS: 可以不用空格,直接用cd…

echo

基本功能演示

基本功能:控制命令是否回显,屏幕原样返回文本。
先看一个例子:
在这里插入图片描述
结果:
在这里插入图片描述
从上面我们可以看到三点:

  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 off之后,代码中的:

echo hello world
echo pause

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

echo on

相应地,如果想重新开启指令回显,则需要使用echo on重新打开,这很好理解。
但是有个有趣的小细节,再看一下echo off:
在这里插入图片描述
效果:
在这里插入图片描述
echo off命令本身还是进行回显了,这很好理解,echo off之前系统是默认指令回显的,所以echo off回显了,其生效时间是在这条指令执行之后,所以之后的所有命令都不进行回显。
那么下面这个例子:
在这里插入图片描述
效果:
在这里插入图片描述
echo on 本身没有回显,这也好理解,在echo on之前,回显是关闭的(echo off),一直到echo on生效时间是在本条指令之后,故本身还是“隐身”状态。

用echo来查看echo开关状态

单独echo命令可以查看echo当前的开关状态:
在这里插入图片描述
结果:
在这里插入图片描述

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

这是使用echo off的效果:
在这里插入图片描述
怎么实现这样的效果:
在这里插入图片描述
这就用到另外一个手动关闭回显的指令 —— @,简单来说,在任何指令之前加上@,那么这条指令就不会进行回显,示例:
在这里插入图片描述
结果:
在这里插入图片描述
对比一下直接“cd …的效果”:
在这里插入图片描述
那么上面的需求就很好实现了 —— 用@关闭echo off指令本身的回显即可:
在这里插入图片描述
效果:
在这里插入图片描述
当然,也可以直接通过手动@所有的指令,让所有指令关闭回显:
在这里插入图片描述
效果:

在这里插入图片描述

echo和@的适用场合

通过上面也可以看出,echo off一旦关闭,则后续所有命令都会停止回显,这适用于完整的代码屏蔽,而@适用于echo on的状态下对于个别命令的隐身,当然,对于echo off本身的隐身还是挺有用处(强迫症患者),比较灵活。
当然,这里提一个@ + echo的妙用 —— 提示信息。
在这里插入图片描述
效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值