【WINDOWS / DOS 批处理】echo命令详解
扬科网络
编辑于 2022年11月26日 22:52
收录于文集
共7篇

命令格式

        一、ECHO [ON | OFF]         二、ECHO [message]

命令功能

ECHO [ON | OFF]    将后续命令的回显打开或关上。

ECHO [message]    输出 message 指定的信息

ECHO】 

  显示当前ECHO设置状态,示例如下:

代码块
JavaScript
自动换行
复制代码
C:\>echo on

C:\>echo
ECHO 处于打开状态。

C:\>echo off
echo
ECHO 处于关闭状态。
复制成功

ECHO   OFF】 

  • 用于dos命令行环境中时,只屏蔽命令提示符,后续命令本身还是会被显示

代码块
JavaScript
自动换行
复制代码
C:\>echo   on

C:\>
C:\>cd   out

C:\out>dir   /b   text.txt
text.txt

C:\out>cd   ..

C:\>echo   off
cd   out              //命令提示符“C:\>”被屏蔽,命令本身还是会被显示
dir   /b   text.txt
text.txt
cd   ..
echo   on

C:\>
复制成功
  • 用于批处理文件中时,屏蔽命令提示符和后续所有命令本身的显示。 如果想关闭“ECHO OFF”命令自身的显示,则需要在该命令前加上“@”。

    示例

代码块
JavaScript
自动换行
复制代码
::demo.bat
@echo   off
cd   out                         
dir   /b   text.txt
cd   .. 
复制成功

    运行

代码块
JavaScript
自动换行
复制代码
C:\>out\demo.bat
text.txt         

C:\>
复制成功

ECHO   ON】  

  在批处理脚本中和在DOS命令行环境中,“echo  on”的效果一致

    示例

代码块
JavaScript
自动换行
复制代码
::demo.bat
echo   on
cd   out                         
dir   /b   text.txt
cd   .. 
复制成功

    运行

代码块
JavaScript
自动换行
复制代码
C:\>out\demo.bat

C:\>echo   on

C:\>cd   out

C:\out>dir   /b   text.txt
text.txt

C:\out>cd   ..

//下面在DOS命令行环境中依次逐条执行out\demo.bat中的命令

C:\>echo   on

C:\>cd   out

C:\out>dir   /b   text.txt
text.txt

C:\out>cd   ..

C:\>
复制成功

ECHO   message】 

 输出 message 指定的信息

1、“echo  message” 命令执行后,总是多输出一个换行符

        示例

输出一行内容到文件,用于建立新文件或追加文件内容。“一行内容”的末尾,会自动添加一个换行符。

代码块
JavaScript
自动换行
复制代码
C:\>echo one > a.txt     // 命令一

C:\>echo two >> a.txt    // 命令二

C:\>type  a.txt
one
two

C:\>
复制成功

 解析 

  • 命令一:如果 a.txt 不存在,则建立之;如果 a.txt 存在,则覆盖之

  • 命令二:追加一行(“two”

2、通常情况下,使用空格作为 echo 和 message 之间的分隔符   

        示例

代码块
JavaScript
自动换行
复制代码
C:\>echo ok    //命令一
ok

C:\>echo ^G    //命令二
复制成功

解析 

  • 命令一:输出“ok”

  • 命令二:发出警告响声,“^G”是用Ctrl+G或Alt+007输入

在DOS命令行下,​

注意】使用空格作为 echo 和 message 之间的分隔符,且 message 为空白(一个或多个空格),则空格分隔符 和 message 都会被忽略。

        示例

3,、echo 和 message 之间的分隔符是一个字符(如果是多个字符则取首字符) 

例如,下例使用空格作为 echo 和 message 之间的分隔符, 如果 echo 后面存在多个空格,则多余的空格会作为message的一部分

    示例

4、可以使用一些特殊字符(这样的字符有 = . ,:;/ [ \ ] +等)作为 echo 和 message 之间的分隔符 

【注意点】echo 和 特殊字符之间不能存在空白。以“echo;”为例,命令行中的 “;”要紧跟在echo 后面,它们之间不能有空格,否则 “;” 将被当作 message 输出到屏幕。

         示例

  • 只输出一个空行

使用一些特殊字符(这样的字符有 = . ,:;/ [ \ ]等)作为 echomessage 之间的分隔符时, 当 message 为空时,则只输出一个空行。

        示例

代码块
JavaScript
自动换行
复制代码
C:\>echo one>a.txt

C:\>echo.>>a.txt    // 使用 . 作为分隔符

C:\>echo two>>a.txt

C:\>type a.txt
one

two

C:\>
复制成功
  •   输出只包含空格的行

使用一些特殊字符(这样的字符有 = . ,:;/ [ \ ]等)作为 echomessage 之间的分隔符时, 当 message 为一个(或多个)空格时,则输出只包含空格的行。     

下例中,echo命令使用 “=” 字符作为分隔符,结果输出只包含一个空格的行

        示例

  • 输出任意个字符

使用一些特殊字符(这样的字符有 = . ,:;/ [ \ ]等)作为 echomessage 之间的分隔符 时, 当 message 为任意字符(串)时,则和分隔符是空格的效果一致。     

      示例

代码块
JavaScript
自动换行
复制代码
C:\>echo=one   // 分隔符是 =
one

C:\>echo..    // 分隔符是 .
.

C:\>
复制成功

5、message 开头和末尾的空白(一个或多个空格)都作为 message 的一部分,不会被忽略

        示例

6、作为管道(|)的输入 

        示例

代码块
JavaScript
自动换行
复制代码
C:\>time
当前时间: 13:24:37.79
输入新时间:                //这里需要输入一个回车符

C:\>ECHO. | TIME
当前时间: 13:24:46.06
输入新时间:

C:\>choice
[Y,N]?Y                   //这里需要输入一个字符(例如:y 或 n )

C:\>echo y | choice
[Y,N]?Y

C:\>
复制成功

【应用实例】

使用echo命令新建文本文件的两种方法:

        方法一

代码块
JavaScript
自动换行
复制代码
// 新建 a.txt文件,如果它原来已经存在,则覆盖之

C:\>echo one>a.txt            // 新建第一行

C:\>echo two>>a.txt           // 追加第二行

C:\>type a.txt
one
two

C:\>
复制成功

          方法二

代码块
JavaScript
自动换行
复制代码
// 新建 b.txt文件,如果它原来已经存在,则覆盖之 

C:\>>b.txt (         // b.txt 和 (  之间必须存在空白
More? echo 123       // 新建第一行
More? echo 456       // 追加第二行
More? )

C:\>type b.txt
123
456

C:\>
复制成功

写作不易,如能帮到您,请您 “在下面一圈三连”。