The ECHO command in Windows CMD is used to display messages or turn on/off the command echoing feature in the command prompt. Its primary purpose is to show text on the screen or to control the visibility of commands in batch scripts. This command is most effective in scripting and automation to provide feedback, debug information, or to show the status of script execution.


The basic syntax for the ECHO command is:

ECHO [ON|OFF|message]
  • ECHO without parameters displays the current echo setting (ECHO is on or ECHO is off).
  • ECHO [message] displays the message on the screen.
  • ECHO. can be used to display a blank line.


  • ON: Turns on the command echoing, causing each command in a batch file to be displayed before it is executed.
  • OFF: Turns off the command echoing, which prevents commands within a batch file from being displayed as they are executed.
  • [message]: Specifies the text message to be displayed. Any valid string can be used as a message.


  1. Display a Message:

    ECHO Hello, world!

    This command will output: Hello, world!

  2. Turn Off Command Echoing:


    This is commonly used at the beginning of batch files to make the output cleaner.

  3. Display a Blank Line:


    Useful for adding space in output for better readability in scripts.

  4. Combining Messages and Commands:

    ECHO The current date is:
    DATE /T

    This sequence displays a custom message followed by the current date.

Common Issues

  • Extra Spaces in Output:
    Sometimes extra spaces are added before the message if not formatted properly. Using ECHO.[message] (note no space between . and [message]) can help avoid unintentional leading spaces.

  • Echoing Special Characters:
    Special characters might need to be escaped or quoted to behave as expected, for instance, ECHO ^| to display a pipe character (|).


ECHO can be integrated with other CMD commands for more complex scripts. For example:

ECHO Listing all files in the directory:

This script segment displays a message, lists all files in the directory in a simple format, then waits for the user to press a key.

  • SET: Often used with ECHO to display variable values (ECHO %VARIABLE%).
  • IF: Used for conditional execution in scripts.
  • PAUSE: Can be paired with ECHO for messages before pausing execution.

For further reading and more detailed information, refer to the official Microsoft documentation: Command-Line Reference