Search code examples
windowsbatch-filecmdascii-art

How To Print This In A Batch Script


I'm pretty new to Batch and I wanted to print something without the hassle of echoing everything, and even when I tried using echo it didn't work. There is probably a simple answer but please help.

What I Wanted To Print:

<body>
              _
             /_\
_            )_(            _
|`-.___,.-~'`|=|`'~-.,___,-'|
|  __________|=|__________  |
| |    ______|=|__________| | ___      _      _  _   _             _             
| |   |  ____|=|_____     / |  |  |_| |_  |  |_ | _ |_ |\| |\  /\ |_
| |   | /    |=|    /    /| |  |  | | |_  |_ |_ |_| |_ | | |/  \/ |
| |   |/   ,-|_|-. / /  /_|_|______ ______     _______        ____
| |      ,' _____ / // / \    ___  |\    /     \      `.      \   \
| |     / ,'| _ |/ // /   |  |   \ | |  |       |  |`.  \     /    \
| |    /_// |/V\/ // /    |  |    \| |  |       |  |  \  \   /  /\  \
| |      /__| |/  / /     |  |       |  |       |  |   \  | /  /  \  \
| |     /\  | / /| /\     |  |__/|   |  |       |  |   |  ||  |    |  |
| |    /  \ |/ // // \    |   __ |   |  |       |  |   |  ||  |____|  |
| |   /    \/ |/ //   \   |  |  \|   |  |       |  |   |  ||   ____   |
| |  /     /    //     \  |  |       |  |       |  |   /  ||  |    |  |
| | /     / /  /|       \ |  |    /| |  |    /| |  |  /  / |  |    |  |
| |/_____/ // / |________\|  |___/ | |  |___/ | |  |,'  /  |  |    |  |
| |     / // /| |        /_________|/_________|/______,'  /____\  /____\
\ \    / // / | |       /|/ /
 \ \  /  / /| | |______/ | /
  \ \/______| | |________|/ 
   `.`.     | | |     ,','
     `.`.   | | |   ,','            
       `.`-.| | |,-','     
         `-.| | |,-'        
            | | |    
            | | |   
            | | |   
            | | |   
            | | |   
             \|/                 
              V 
<body>

Solution

  • You can use echo, but you will need to either double quote the lines because of special characters involved, or escape each special character. You can then use type to achieve that, as demonstrated in @Squashman's comment. If however you have a Windows 10 OS (or Windows 11) you can make it a little more fun using ANSI escape codes.

    Here's an example, it does not look like much now, but simply save it ,as is, to a file with a .cmd extension and run it:

    @echo off
    for /F %%i in ('echo prompt $E ^| cmd') do set "e=%%i"
    mode con cols=100 lines=40
    echo(
    echo(
    echo %e%[30m"        %e%[93m              _                                                 %e%[30m"
    echo %e%[30m"        %e%[93m             /_\                                                    %e%[30m"
    echo %e%[30m"        %e%[93m             )_(                                                        %e%[30m"
    echo %e%[30m"        %e%[32m|`-.___,.-~'`%e%[93m|=|%e%[32m`'~-.,___,-'|                                     %e%[30m"
    echo %e%[30m"        %e%[32m|  __________%e%[93m|=|%e%[32m__________  |                                     %e%[30m"
    echo %e%[30m"        %e%[32m| |   %e%[31m ______%e%[93m|=|%e%[31m__________%e%[32m| | %e%[34m___      _      _  _   _             _     %e%[30m"
    echo %e%[30m"        %e%[32m| |   %e%[31m|  ____%e%[93m|=|%e%[31m_____     /%e%[32m | %e%[34m |  |_| |_  |  |_ | _ |_ |\| |\  /\ |_     %e%[30m"
    echo %e%[30m"        %e%[32m| |   %e%[31m| /    %e%[93m|=|%e%[31m    /    /%e%[32m| | %e%[34m |  | | |_  |_ |_ |_| |_ | | |/  \/ |      %e%[30m"
    echo %e%[30m"        %e%[32m| |   %e%[31m|/   %e%[93m,-|_|-.%e%[31m / /  /_%e%[32m|%e%[31m_%e%[32m|%e%[31m______ ______     _______        ____ %e%[30m"
    echo %e%[30m"        %e%[32m| |      %e%[93m,' _____%e%[31m / // / \    ___  |\    /     \      `.      \   \                   %e%[30m"
    echo %e%[30m"        %e%[32m| |     %e%[93m/ ,'| _ |%e%[31m/ // /   |  |   \ | |  |       |  |`.  \     /    \                  %e%[30m"
    echo %e%[30m"        %e%[32m| |   %e%[93m /_/%e%[32m/ %e%[93m|/V\%e%[31m/ // /    |  |    \| |  |       |  |  \  \   /  /\  \           %e%[30m"
    echo %e%[30m"        %e%[32m| |      /__%e%[93m| |%e%[31m/  / /     |  |       |  |       |  |   \  | /  /  \  \                %e%[30m"
    echo %e%[30m"        %e%[32m| |     /\  %e%[93m| %e%[31m/ /| /%e%[32m\%e%[31m     |  |__/|   |  |       |  |   |  ||  |    |  |         %e%[30m"
    echo %e%[30m"        %e%[32m| |    /  \ %e%[93m|%e%[31m/ // // %e%[32m\%e%[31m    |   __ |   |  |       |  |   |  ||  |____|  |         %e%[30m"
    echo %e%[30m"        %e%[32m| |   /    \%e%[31m/ |/ //   %e%[32m\%e%[31m   |  |  \|   |  |       |  |   |  ||   ____   |            %e%[30m"
    echo %e%[30m"        %e%[32m| |  /     %e%[31m/    //%e%[32m     \  %e%[31m|  |       |  |       |  |   /  ||  |    |  |            %e%[30m"
    echo %e%[30m"        %e%[32m| | /     %e%[31m/ /  /%e%[93m|%e%[32m       \%e%[31m |  |    /| |  |    /| |  |  /  / |  |    |  |         %e%[30m"
    echo %e%[30m"        %e%[32m| |/_____%e%[31m/ // / %e%[93m|%e%[32m________\%e%[32m|  |___/ | |  |___/ | |  |,'  /  |  |    |  |         %e%[30m"
    echo %e%[30m"        %e%[32m| |     %e%[31m/ // /%e%[93m| |%e%[31m        /_________|/_________|/______,'  /____\  /____\           %e%[30m"
    echo %e%[30m"        %e%[32m\ \    %e%[31m/ // / %e%[93m| |%e%[31m       /|%e%[32m/ /                               %e%[30m"
    echo %e%[30m"        %e%[32m \ \  %e%[31m/  / /%e%[93m| | |%e%[31m______/ |%e%[32m /                                %e%[30m"
    echo %e%[30m"        %e%[32m  \ \%e%[31m/______%e%[93m| | |%e%[31m________|%e%[32m/                                 %e%[30m"
    echo %e%[30m"        %e%[32m   `.`.     %e%[93m| | |%e%[32m     ,','                                        %e%[30m"
    echo %e%[30m"        %e%[32m     `.`.   %e%[93m| | |%e%[32m   ,','                                              %e%[30m"
    echo %e%[30m"        %e%[32m       `.`-.%e%[93m| | |%e%[32m,-','                                            %e%[30m"
    echo %e%[30m"        %e%[32m         `-.%e%[93m| | |%e%[32m,-'                                              %e%[30m"
    echo %e%[30m"        %e%[91m            %e%[93m| | |                                                %e%[30m"
    echo %e%[30m"        %e%[91m            %e%[93m| | |                                                %e%[30m"
    echo %e%[30m"        %e%[91m            %e%[93m| | |                                                %e%[30m"
    echo %e%[30m"        %e%[91m            %e%[93m| | |                                                %e%[30m"
    echo %e%[30m"        %e%[91m            %e%[93m| | |                                                %e%[30m"
    echo %e%[30m"        %e%[91m             %e%[93m\|/                                                         %e%[30m"
    echo %e%[30m"        %e%[91m              %e%[93mV                                              %e%[30m"
    echo %e%[0m
    pause>nul
    

    Result:

    enter image description here