批处理命令——echo 和 @
【1】echo 命令简介
echo 命令的常见用法(必须掌握)分为以下几种情况:
一、无参数
作用:显示当前echo的状态:处于打开或关闭状态。
新建一个文本文件,命名为echo,修改类型为bat,用Notepad++打开,编辑以下内容:
echo
echo on
echo
echo off
echo
pause
运行结果:

二、有参数
- 参数为[on/off]。作用:on打开命令的回显状态;off关闭命令的回显状态。关于“回显”,可以理解为:重复显示。
- 参数为message。 作用:打印message内容。
- echo前面加@与否。 作用:加@代表不显示当前行命令自身;否则反之。
- 参数 message > 文件。 作用:把message内容写入文件中,其中“>”表示“清空另写入”。
- 参数 message >> 文件。 作用:把message内容写入文件中,其中“>>”表示“追加再写入”。
- 其他.....
为了更好的理解以上各种情况,举例如下:
1> 新建一个文本文件,命名为echo1,修改类型为bat,用Notepad++打开,编辑以下内容:
echo off
echo
@echo off
echo
@echo on
echo
echo on
echo
pause
运行结果:

简单分析:
第 1 行:echo前没有加@,那么显示当前行命令本身;off表示关闭命令的回显状态。
第 2 行:参数为“123”,上一句已经关闭了命令的“回显”状态,那么直接显示命令执行的结果即123
第 3 行:echo前加@,那么不显示当前行命令本身(其实,即使不加也不会显示!请往下看);off表示仍旧为关闭命令的回显状态。
第 4 行:同第二行,直接显示命令的执行结果即456
第 5 行:echo前加@,那么不显示当前行命令本身(其实,即使不加也不会显示!请往下看);on表示打开命令的回显状态。
第 6 行:参数为“789”,由于第五行已经打开命令的回显状态,所以执行此行命令需要重复显示命令,即为:F:\studybat>echo 789
第 7 行:由于第五行已经打开命令的回显状态,所以执行此行命令需要重复显示命令,即为:F:\studybat>echo on
第 8 行:与第六行同理
第 9 行:为了查看显示结果,特此暂停命令。以下示例同理再不做解释。
2> 新建一个文本文件,命名为echo2,修改类型为bat,用Notepad++打开,编辑以下内容:
@echo off
echo
echo off
echo
echo on
echo
@echo on
echo
pause
运行结果:

简单分析:
第 1 行:echo前加@,那么不显示当前行命令本身;off表示关闭命令的回显状态。
第 2 行:由于第一行已经关闭命令的回显状态,直接显示此行命令的执行结果为123
第 3 行:由于第一行已经关闭命令的回显状态,而且off表示仍旧关闭命令的回显状态,所以无输出。
第 4 行:由于第三行仍旧关闭命令的回显状态,直接显示此行命令的执行结果为456
第 5 行:由于第三行仍旧关闭命令的回显状态,所以此行命令不进行回显。但是,on表示打开命令的回显状态。
第 6 行:由于第五行打开命令的回显状态,所以执行此行命令需要重复显示命令,即为F:\studybat>echo 789
第 7 行:由于第五行打开命令的回显状态,但是echo前加@,所以执行此行命令不重复显示命令。on表示仍旧打开命令的回显状态。
第 8 行:与第六行同理。
3> 新建一个文本文件,命名为echo3,修改类型为bat,用Notepad++打开,编辑以下内容:
@echo off
echo
echo off
echo
@echo on
echo
echo on
echo
pause
运行结果:

简单分析:
第 1 行:echo前加@,那么不显示当前行命令本身;off表示关闭命令的回显状态。
第 2 行:参数为“123”,由于第一行已经关闭命令的回显状态,执行此行命令直接反馈结果为123
第 3 行:由于第一行已经关闭命令的回显状态,所以不再重复显示此命令;off表示仍旧保持关闭回显状态。
第 4 行:参数为“456”,由于第三行仍旧关闭命令的回显状态,执行此行命令直接反馈结果为456
第 5 行:由于第三行仍旧关闭命令的回显状态,所以不再重复显示此命令;至于@可以忽略不考虑,但是on表示打开命令的回显状态。
第 6 行:由于第五行打开命令的回显状态,所以执行此行命令需要重复显示命令,即为F:\studybat>echo 789
第 7 行:由于第五行打开命令的回显状态,所以执行此行命令需要重复显示命令,即为F:\studybat>echo on 当然,on表示仍旧打开命令的回显状态。
第 8 行:由于第七行仍旧打开命令的回显状态,所以即与第六行同理。
4> 新建一个文本文件,命名为echo4,修改类型为bat,用Notepad++打开,编辑以下内容:
echo off
echo
@echo off
echo
echo on
echo
@echo on
echo
pause
运行结果:

简单分析:
第 1 行:echo前无@,显示此行命令,即为:F:\studybat>echo off ;off表示关闭命令的回显状态。
第 2 行:参数为“123”,由于第一行已经关闭命令的回显状态,执行此行命令直接反馈结果为123
第 3 行:由于第一行已经关闭命令的回显状态,所以不显示此行命令状态。off表示仍旧关闭命令的回显状态。
第 4 行:参数与“456”,由于第三行仍旧关闭命令的回显状态,执行此行命令直接反馈结果为456
第 5 行:由于第三行仍旧关闭命令的回显状态,不显示此行命令。但是,on表示从此打开命令的回显状态。
第 6 行:由于第五行打开命令的回显状态,所以执行此行命令需要重复显示命令,即为F:\studybat>echo 789
第 7 行:由于第五行打开命令的回显状态,但是echo前加@,所以不显示此行命令。on表示仍旧打开命令的回显状态。
第 8 行:由于第七行仍旧打开命令的回显状态,所以执行此行命令需要重复显示命令,即为F:\studybat>echo 012
5> 新建一个文本文件,命名为echo5,修改类型为bat,用Notepad++打开,编辑以下内容:
echo on
echo I love bat > a.txt
echo I love bat too >> a.txt
pause
运行结果:

通过以上四个例子的分析,如上此例的终端结果就不再做分析。
另外,在当前目录(即文件夹)中会自动(当然,不存在情况下会先自动生成一个;存在情况下直接按命令写入)生成一个a.txt文本文件,其内容如下:

简单分析:
第 2 行:新建文本文件a.txt,写入内容:I love bat
第 3 行:在文件中追加内容:I love bat too
注意:文件也可以为其他任意路径,任意名称等。在此不再赘述。
6> 新建一个文本文件,命名为echo6,修改类型为bat,用Notepad++打开,编辑以下内容:
@echo off
echo I love bat > b.txt
echo I love bat too >> b.txt
echo I hate bat > b.txt
pause
运行结果:
根据前四个示例的情况分析,此例终端结果无任何内容,所以不再呈现。还不理解?请回头再看看前四个例子。
另外,在当前目录(即文件夹)中会自动(当然,不存在情况下会先自动生成一个;存在情况下直接按命令写入)生成一个b.txt文本文件,其内容如下:

简单分析:
第 2 行:新建(因为实际我本地并没有这个文件)文本文件b.txt,写入内容:I love bat
第 3 行:在文件中追加内容:I love bat too
第 4 行:清空文件的所有内容,重新再写入内容。具体内容为:I hate bat
注意:例5与例6的联系。理解“>” 与 “>>”的区别。
7> echo 字符串 & echo 字符串 ......
&类似and的意思,逻辑运算,用来显示多行数据。新建一个文本文件,命名为echo7,修改类型为bat,用Notepad++打开,编辑以下内容:
echo abc & echo def & echo ghi
pause
运行结果:

8> 其他
【2】@命令简介
结合以上的示例,不难看出,@命令的作用很简单:
命令前加@符号,表示不显示@后面的命令。
举一个不和谐的例子:在入侵过程中(使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Good Good Study, Day Day Up.
顺序 选择 循环 总结
批处理命令——echo 和 @的更多相关文章
- DOS批处理命令-echo
Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法 echo [{on off}] [message] 即是说当echo设置off值 ...
- DOS批处理命令
1.echo的用法(echo /? --查看帮助) echo off/on 打开关闭回显功能(@echo off 关闭回显并且不需要回显 echo 命令) echo, 显示空行(也可以是; . ...
- 批处理命令——call 和 start
一.call命令总结 [1]call命令简介 学过汇编或C的朋友,肯定都知道call指令表示什么意思.其实,在这里它的意思也是一样的.在批处理脚本中,call命令用来从一个批处理脚本中调用另一个批处理 ...
- 批处理命令 BAT备份MySQL数据库
批处理命令 BAT备份MySQL数据库 作者: 字体:[增加 减小] 类型:转载 时间:2009-07-23我要评论 MySQL数据的备份工具也许有很多,在这我要给大家分享一下通过DOS批处理命令和M ...
- SQL Server数据库备份:通过Windows批处理命令执行
通过Windows批处理命令执行SQL Server数据库备份 建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. --- ...
- TFS 自动同步Server 端文件的批处理命令
TFS 自动同步Server 端文件的批处理命令 目前在我们组的工作中很多时候需要将TFS上Server端的代码自动无人值守的同步到本地中来, 找到了一些解决方案的资料http://bbs.scmro ...
- 批处理命令——goto 和 :
谈起goto,相信大家应该想到的是面向过程编程.其实,这就相当于当有人向你谈起class,意味着你就懂得面向对象编程.如果你不懂,那么你们的沟通将会很困难.不懂我说的啥意思吗?请参见曾经分享王路的一篇 ...
- BATCH(BAT批处理命令语法)
bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件[@more@] bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的 ...
- 批处理:echo的用法
批处理:echo的用法 若要用 echo 命令显示一条命令,可用下述语法: echo [message] 参数 ON|OFF 指定是否允许命令的回显.若要显示当前的 ECHO 的设置,可使用不带 ...
随机推荐
- chem02-- ajax登录
1.ajaxLogin.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&quo ...
- 在Fedora8上安装jdk-7u25-linux-i586.rpm的步骤
按:我们身处一个信息爆炸的年代,当有事不决时,打开搜索引擎瞬息间就能得到海量的答案.但是,这未必会让你的问题迎刃而解,因此很多“答案”会把你引向错误的方向,浪费你的时间.希望搜索引擎能有所改进,对明确 ...
- SDUT2165:Crack Mathmen(快速幂)
题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2165&cid=1431 快速幂. #include <iostream> ...
- 智能硬件+App移动新生态【11.01深圳】
活动概况 时间:2015年11月01日13:30-16:30 地点:深圳腾讯大厦(南山区科技园科技中一路)2楼多功能厅 主办:APICloud.庆科.信鸽 费用:免费 活动背景 智能电视.智能汽车.智 ...
- mysql的粗略学习
输入root进入mysql 试着输入了两个语法都没动静,输入\h终于有反应了 语法错误 show databases; //显示数据库 为什么没有人告诉我还有个英文下的分隔符号... 查的资料不是没有 ...
- Ubuntu下如何将普通用户提升到root权限
在ubuntu的系统操作中,我们经常会使用到系统权限的,因为权限不足,导致在一些操作当中非常麻烦.要获取权限,最长使用的方法就是使用sudo指令,但是来回使用还是比较麻烦,有没有直接提升我们的用户权限 ...
- C# DEV--DateEdit长日期
参考博客: DevExpress的DateEdit设置显示日期和时间 this.datBeginTime.Properties.VistaEditTime = DevExpress.Utils.Def ...
- markdown语法集锦
参考:http://wowubuntu.com/markdown/#blockquote 1. 标题 # 一级标题 ## 二级标题 ### 三级标题 共六级标题 2. 列表 有序列表:1,2,3: 无 ...
- javascript设计模式学习之六——代理模式
一.代理模式定义 代理模式的关键是:当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问.代理模式需要和本体对外提供相同的接口,对用户来说是透明的.代理模式的种类有 ...
- Tomcat类加载器机制
Tomcat为什么需要定制自己的ClassLoader: 1.定制特定的规则:隔离webapp,安全考虑,reload热插拔 2.缓存类 3.事先加载 要说Tomcat的Classloader机制,我 ...