• 批处理命令——echo 和 @


    【1】echo 命令简介

    echo 命令的常见用法(必须掌握)分为以下几种情况:

    一、无参数

      作用:显示当前echo的状态:处于打开或关闭状态。

      新建一个文本文件,命名为echo,修改类型为bat,用Notepad++打开,编辑以下内容:

    1 echo
    2 echo on
    3 echo
    4 echo off
    5 echo
    6 pause

      运行结果:

    二、有参数

    1. 参数为[on/off]。作用:on打开命令的回显状态;off关闭命令的回显状态。关于“回显”,可以理解为:重复显示。
    2. 参数为message。 作用:打印message内容。
    3. echo前面加@与否。 作用:加@代表不显示当前行命令自身;否则反之。
    4. 参数 message > 文件。 作用:把message内容写入文件中,其中“>”表示“清空另写入”。
    5. 参数 message >> 文件。 作用:把message内容写入文件中,其中“>>”表示“追加再写入”。
    6. 其他.....

      为了更好的理解以上各种情况,举例如下:

      1> 新建一个文本文件,命名为echo1,修改类型为bat,用Notepad++打开,编辑以下内容:

    1 echo off
    2 echo 123
    3 @echo off
    4 echo 456
    5 @echo on
    6 echo 789
    7 echo on
    8 echo 012
    9 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++打开,编辑以下内容:

    1 @echo off
    2 echo 123
    3 echo off
    4 echo 456
    5 echo on
    6 echo 789
    7 @echo on
    8 echo 012
    9 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++打开,编辑以下内容:

    1 @echo off
    2 echo 123
    3 echo off
    4 echo 456
    5 @echo on
    6 echo 789
    7 echo on 
    8 echo 012
    9 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++打开,编辑以下内容:

    1 echo off
    2 echo 123
    3 @echo off
    4 echo 456
    5 echo on
    6 echo 789
    7 @echo on
    8 echo 012
    9 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++打开,编辑以下内容:

    1 echo on
    2 echo I love bat > a.txt
    3 echo I love bat too >> a.txt
    4 pause

      运行结果:

      通过以上四个例子的分析,如上此例的终端结果就不再做分析。

      另外,在当前目录(即文件夹)中会自动(当然,不存在情况下会先自动生成一个;存在情况下直接按命令写入)生成一个a.txt文本文件,其内容如下:

      简单分析:

      第 2 行:新建文本文件a.txt,写入内容:I love bat

      第 3 行:在文件中追加内容:I love bat too

      注意:文件也可以为其他任意路径,任意名称等。在此不再赘述。

      6> 新建一个文本文件,命名为echo6,修改类型为bat,用Notepad++打开,编辑以下内容:

    1 @echo off
    2 echo I love bat > b.txt
    3 echo I love bat too >> b.txt
    4 echo I hate bat > b.txt
    5 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++打开,编辑以下内容:

    1 echo abc & echo def & echo ghi
    2 pause

      运行结果:

      8> 其他

      

    【2】@命令简介

       结合以上的示例,不难看出,@命令的作用很简单:

       命令前加@符号,表示不显示@后面的命令。

      举一个不和谐的例子:在入侵过程中(使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。

    Good Good Study, Day Day Up.

    顺序  选择  循环  总结

  • 相关阅读:
    Objective-C 学习记录--toches、Motion/Size/Rect/Point/CGFloat/protocol
    Objective-C 学习记录6--dictionary
    Objc基础学习记录5
    第四篇:web之前端之jquery
    第三篇:web之前端之JavaScript基础
    第二篇:web之前端之css
    第一篇:web之前端之html
    第三篇:杂项之年终总结
    第二篇:杂项之图像处理pillow
    第一篇:杂项之pymysql连接池
  • 原文地址:https://www.cnblogs.com/Braveliu/p/5061745.html
Copyright © 2020-2023  润新知