Frage

here is the font

    ::  __   ___    ____    _  _     _____     __    ______    ___     ___     ___  
    :: /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \   / _ \ 
    ::  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) | | | | |
    ::  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, | | | | |
    ::  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /  | |_| |
    ::  |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/    \___/ 

Honestly I have no idea on how to refer to multiple line characters right next to each other..

War es hilfreich?

Lösung

Give this a try :)

@echo off

echo The digits:
call :printNum 0123456789

echo(
echo The answer to life, the universe, and everything:
call :printNum 42
exit /b

:printNum
setlocal enableDelayedExpansion
set "str=%~1"
call :strLen str len
set /a len-=1
for /l %%N in (1 1 6) do set "ln%%N="
for /l %%N in (0 1 %len%) do call :!str:~%%N,1!
for /l %%N in (1 1 6) do echo(!ln%%N!
exit /b
:1
set "ln1=!ln1!  __ "
set "ln2=!ln2! /_ |"
set "ln3=!ln3!  | |"
set "ln4=!ln4!  | |"
set "ln5=!ln5!  | |"
set "ln6=!ln6!  |_|"
exit /b
:2
set "ln1=!ln1!  ___  "
set "ln2=!ln2! |__ \ "
set "ln3=!ln3!    ) |"
set "ln4=!ln4!   / / "
set "ln5=!ln5!  / /_ "
set "ln6=!ln6! |____|"
exit /b
:3
set "ln1=!ln1!  ____  "
set "ln2=!ln2! |___ \ "
set "ln3=!ln3!   __) |"
set "ln4=!ln4!  |__ < "
set "ln5=!ln5!  ___) |"
set "ln6=!ln6! |____/ "
exit /b
:4
set "ln1=!ln1!  _  _   "
set "ln2=!ln2! | || |  "
set "ln3=!ln3! | || |_ "
set "ln4=!ln4! |__   _|"
set "ln5=!ln5!    | |  "
set "ln6=!ln6!    |_|  "
exit /b
:5
set "ln1=!ln1!  _____ "
set "ln2=!ln2! | ____|"
set "ln3=!ln3! | |__  "
set "ln4=!ln4! |___ \ "
set "ln5=!ln5!  ___) |"
set "ln6=!ln6! |____/ "
exit /b
:6
set "ln1=!ln1!    __  "
set "ln2=!ln2!   / /  "
set "ln3=!ln3!  / /_  "
set "ln4=!ln4! | '_ \ "
set "ln5=!ln5! | (_) |"
set "ln6=!ln6!  \___/ "
exit /b
:7
set "ln1=!ln1!  ______ "
set "ln2=!ln2! |____  |"
set "ln3=!ln3!     / / "
set "ln4=!ln4!    / /  "
set "ln5=!ln5!   / /   "
set "ln6=!ln6!  /_/    "
exit /b
:8
set "ln1=!ln1!   ___  "
set "ln2=!ln2!  / _ \ "
set "ln3=!ln3! | (_) |"
set "ln4=!ln4!  > _ < "
set "ln5=!ln5! | (_) |"
set "ln6=!ln6!  \___/ "
exit /b
:9
set "ln1=!ln1!   ___  "
set "ln2=!ln2!  / _ \ "
set "ln3=!ln3! | (_) |"
set "ln4=!ln4!  \__, |"
set "ln5=!ln5!    / / "
set "ln6=!ln6!   /_/  "
exit /b
:0
set "ln1=!ln1!   ___  "
set "ln2=!ln2!  / _ \ "
set "ln3=!ln3! | | | |"
set "ln4=!ln4! | | | |"
set "ln5=!ln5! | |_| |"
set "ln6=!ln6!  \___/ "
exit /b


:strLen string len -- returns the length of a string
::                 -- string [in]  - variable name containing the string being measured for length
::                 -- len    [out] - variable to be used to return the string length
:: Many thanks to 'sowgtsoi', but also 'jeb' and 'amel27' dostips forum users helped making this short and efficient
:$created 20081122 :$changed 20101116 :$categories StringOperation
:$source http://www.dostips.com
(   SETLOCAL ENABLEDELAYEDEXPANSION
    set "str=A!%~1!"&rem keep the A up front to ensure we get the length and not the upper bound
                     rem it also avoids trouble in case of empty string
    set "len=0"
    for /L %%A in (12,-1,0) do (
        set /a "len|=1<<%%A"
        for %%B in (!len!) do if "!str:~%%B,1!"=="" set /a "len&=~1<<%%A"
    )
)
( ENDLOCAL & REM RETURN VALUES
    IF "%~2" NEQ "" SET /a %~2=%len%
)
EXIT /b

-- OUTPUT --

The digits:
   ___    __   ___    ____    _  _     _____     __    ______    ___     ___
  / _ \  /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \
 | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |
 | | | |  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, |
 | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /
  \___/   |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/

The answer to life, the universe, and everything:
  _  _     ___
 | || |   |__ \
 | || |_     ) |
 |__   _|   / /
    | |    / /_
    |_|   |____|

Update

I've extended Aacini's idea to make it easy to change fonts; I've actually created a library of batch routines to facilitate printing in multiple fonts. Fonts can be added by appending to the library script, or by creating a separate font script for each new font. The posted library has two fonts built in - Big, and Standard. I've also posted a stand alone font script for a Small font. The font script(s) must be in the same directory as the main library.

Banner.bat

@echo off
if "%~1" neq "" (
  2>nul findstr /bric:":%~1\>" "%~f0" | findstr /bivc:":font_" >nul && (
    shift /1&goto %1
  ) || (
    >&2 echo ERROR: routine %~1 not found
  )
) else >&2 echo ERROR: missing routine

:Usage                      -- Library syntax and general info
::  ____                                              _               _
:: | __ )    __ _   _ __    _ __     ___   _ __      | |__     __ _  | |_
:: |  _ \   / _` | | '_ \  | '_ \   / _ \ | '__|     | '_ \   / _` | | __|
:: | |_) | | (_| | | | | | | | | | |  __/ | |     _  | |_) | | (_| | | |_
:: |____/   \__,_| |_| |_| |_| |_|  \___| |_|    (_) |_.__/   \__,_|  \__|
::
:: Banner.bat is a library of batch routines that enables printing messages
:: to the screen using multi-line fonts.
::
::  Syntax:
::
::    [call] [path]banner command [arguments]
::
::  For a full list of commands, use:
::
::    banner help
::
::  For detailed help on a specific command, use:
::
::    banner help command
::
call :help usage
exit /b


:Help      [Command]        -- Help for commands in this library
::
::  Displays help about Command
::
::  If Command is not specified, then lists all available commands.
::
  setlocal disableDelayedExpansion
  set file="%~f0"
  echo(
  if not "%~1"=="" goto :help.func
  for /f "tokens=* delims=:" %%A in (
    'findstr /r "^:[^:]" "%~f0"^|findstr /rvi "^:font_"^|sort'
  ) do echo(  %%A
  exit /b
  :help.func
  set beg=
  for /f "tokens=1,* delims=:" %%a in ('findstr /nric:"^:%~1\>" "%~f0"') do (
    if not defined beg set beg=%%a
  )
  if not defined beg (1>&2 echo: Function %~1 not found) & exit /b 1
  set end=
  for /f "tokens=1 delims=:" %%a in ('findstr /nrc:"^[^:]" "%~f0"') do (
    if not defined end if %beg% LSS %%a set end=%%a
  )
  for /f "tokens=1,* delims=[]:" %%a in ('findstr /n "^" "%~f0"') do (
    if %beg% leq %%a if %%a lss %end% echo: %%b
  )
exit /b


:PrintStr  Font  String     -- Print a string literal
::
::  Prints String using the specified multi-line Font.
::
::  If the font has not yet been loaded, then the font will be loaded temporarily
::  and released once the line has been printed. If printing multiple lines, then
::  it is more efficient to pre-load the font using LoadFont.
::
::  The following escape sequences are available for troublesome characters:
::
::    \c = ^ (caret)
::
::    \p = % (percent)
::
::    \q = " (quote)
::
::    \\ = \ (backslash)
::
setlocal disableDelayedExpansion
set "str=%~2"
setlocal enableDelayedExpansion
set "str=!str:\q="!"
set "str=!str:\c=^!"
set "str=!str:\p=%%!"
set "str=!str:\\=\!"
call :printVar %1 str
exit /b


:PrintVar  Font  StrVar     -- Print value of a string variable
::
::  Prints the value of variable StrVar using the specified multi-line Font.
::
::  If the font has not yet been loaded, then the font will be loaded temporarily
::  and released once the line has been printed. If printing multiple lines, then
::  it is more efficient to pre-load the font using LoadFont.
::
setlocal enableDelayedExpansion
if not defined font.%~1.height call :loadFont %1
set "lower=abcdefghijklmnopqrstuvwxyz"
call :strLen %~2 len
set /a len-=1
for /l %%N in (1 1 !font.%~1.height!) do set "ln%%N="
for /l %%P in (0 1 %len%) do (
  set "chr=!%~2:~%%P,1!"
  if "!chr!" equ "=" (
    set "chr=equal"
  ) else if "!chr!" equ ":" (
    set "chr=colon"
  ) else if "!chr!" equ "^!" (
    set "chr=bang"
  ) else if "!chr!" equ "^^" (
    set "chr=^^"
  ) else if "!chr!" neq "*" if "!chr!" neq "~" for /f "delims=" %%C in ("!chr!") do if "!lower:%%C=%%C!" neq "!lower!" set "chr=upper%%C"
  if not defined font.%~1.!chr!.1 set "chr=missing"
  for /f delims^=^ eol^= %%C in ("!chr!") do for /l %%N in (1 1 !font.%~1.height!) do set "ln%%N=!ln%%N!!font.%~1.%%C.%%N!"
)
for /l %%N in (1 1 !font.%~1.height!) do echo(!ln%%N!
exit /b


:LoadFont  Font             -- Load a font definition for later use
::
::  Loads Font into memory to enable faster printing
::
if "%~1" equ "" (
  echo ERROR: Missing font argument
  exit /b 1
)
setlocal disableDelayedExpansion
if exist "%~dp0Font_%~1.bat" (
  call "%~dp0Font_%~1.bat"
) else findstr /bri ":font_%~1\>" "%~f0" >nul && (
  call :font_%~1
) || (
  echo ERROR: Font %~1 not found
  exit /b 1
)
set font.%~1.setlocal=1
setlocal enableDelayedExpansion
set "lower=abcdefghijklmnopqrstuvwxyz"
set "font.%~1.height=!fontHeight!"
set /a "pos=0, ln=1, start=0"
for %%W in (!fontWidth!) do for %%S in (!start!) do (
  if !pos! equ 0 (
    set chr=missing
  ) else for %%N in (!pos!) do set "chr=!fontChars:~%%N,1!"
  if "!chr!" equ "^!" (
    set "chr=bang"
  ) else if "!chr!" equ "=" (
    set "chr=equal"
  ) else if "!chr!" equ ":" (
    set "chr=colon"
  ) else if "!chr!" neq "*" if "!chr!" neq "~" for /f "delims=" %%C in ("!chr!") do if "!lower:%%C=%%C!" neq "!lower!" set "chr=upper%%C"
  for /l %%N in (1 1 !fontHeight!) do set "font.%~1.!chr!.%%N=!font%%N:~%%S,%%W!"
  set /a "start+=%%W, pos+=1"
)
for /f "delims=" %%A in ('set font.%~1.') do (
  if defined font.%~1.setlocal endlocal&endlocal
  if "%%A" neq "font.%~1.setlocal=1" set "%%A"
)
exit /b


:ListFonts                  -- List all available fonts
::
::  List all available fonts. Fonts may be embedded directly within this
::  script, or they may be stand-alone files within the same directory
::  as this library.
echo(
(
  for /f "delims=_. tokens=2" %%A in (
    'findstr /lbi :font_ "%~f0"^^^&dir /b "%~dp0font_*.bat"'
  ) do @echo   %%A
)|sort


:StrLen    StrVar  LenVar   -- Compute the length of a string
::
:: Compute the length of the string within variable StrVar
:: and return the result in variable LenVar.
::
:: Many thanks to 'sowgtsoi', but also 'jeb' and 'amel27' dostips forum users
:: helped making this short and efficient.
:: Created 20081122 :$changed 20101116 :$categories StringOperation
:: Source http://www.dostips.com
(   SETLOCAL ENABLEDELAYEDEXPANSION
    set "str=A!%~1!"&rem keep the A up front to ensure we get the length and not the upper bound
                     rem it also avoids trouble in case of empty string
    set "len=0"
    for /L %%A in (12,-1,0) do (
        set /a "len|=1<<%%A"
        for %%B in (!len!) do if "!str:~%%B,1!"=="" set /a "len&=~1<<%%A"
    )
)
( ENDLOCAL & REM RETURN VALUES
    IF "%~2" NEQ "" SET /a %~2=%len%
)
EXIT /b


:: Font Definitions
:: ================================================================================
:: Additional fonts may be appended to this script with a label of :font_fontName
:: Alternatively, a font may be installed as a stand-alone file in the same folder
:: as banner.bat. Each font file should be named font_fontName.bat
::
:: Each font should define fontChars, fontHeight, fontWidth, and font1...fontN. The
:: letters in fontChars should correspond to the letters defined in font1..fontN.
:: You can define as many or as few characters as you want for a given font.
:: A special symbol will be used in place of any undefined character. The first
:: character must be the symbol used to represent an undefined character.
:: If " is defined, then it should be the last character.
:: Don't forget to double the % in the fontChars string.

:Font_Big
set "fontChars= ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789`~!@#$%%^&*()_+-={}|[]\:;'<>?,./""
set "fontHeight=8"
set "fontWidth=   6       11       8        9        9        9        9         9       9        8        9      7       9        9        8        9        9        9        9        9       10         9        11           15          8       10        8      6      8       8       7       8      7    6       8       8     4    6      7    4      12         8       8      8         8     7      6     6      8       8        11       7       8      6      8      5    7       8       9        8       8       9        8       8     4    6    4      10        11       6      8     5      9         10      5   5       9       8       9        9       6     6    4    6     6      8     4   4   4     6    6     7     4   4     8      6  "
set     "font1=                   ____     _____   _____    ______   ______    _____   _    _   _____        _   _  __  _        __  __   _   _    ____    _____     ____    _____     _____   _______   _    _  __      __ __          __ __   __ __     __  ______                _                  _           __           _       _     _   _      _                                                            _                                                      ___    __   ___    ____    _  _     _____     __    ______    ___     ___    _   /\/|  _     ____      _  _      _    _   __  /\               _       __ __                                         __ __     _   ___   ___  __               _     __ __     ___                __  _ _ "
set     "font2= .....     /\     |  _ \   / ____| |  __ \  |  ____| |  ____|  / ____| | |  | | |_   _|      | | | |/ / | |      |  \/  | | \ | |  / __ \  |  __ \   / __ \  |  __ \   / ____) |__   __| | |  | | \ \    / / \ \        / / \ \ / / \ \   / / |___  /               | |                | |         / _|         | |     (_)   (_) | |    | |                                                          | |                                                    / _ \  /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \  ( ) |/\/  | |   / __ \   _| || |_   | |  (_) / / |/\|   ___     /\| |/\   / / \ \              _              ______    / / \ \   | | |  _| |_  | \ \      _   _  ( )   / / \ \   |__ \              / / ( | )"
set     "font3= .....    /  \    | |_) | | |      | |  | | | |__    | |__    | |  __  | |__| |   | |        | | | ' /  | |      | \  / | |  \| | | |  | | | |__) | | |  | | | |__) | | (___      | |    | |  | |  \ \  / /   \ \  /\  / /   \ V /   \ \_/ /     / /          __ _  | |__     ___    __| |   ___  | |_    __ _  | |__    _     _  | | __ | |  _ __ ___    _ __     ___    _ __     __ _   _ __   ___  | |_   _   _  __   __ __      __ __  __  _   _   ____ | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |  \|       | |  / / _` | |_  __  _| / __)    / /        ( - )    \ ` ' /  | |   | |           _| |_   ______  |______|  | |   | |  | | | |     | |  \ \    (_) (_) |/   / /   \ \     ) |            / /   V V "
set     "font4= .....   / /\ \   |  _ <  | |      | |  | | |  __|   |  __|   | | |_ | |  __  |   | |    _   | | |  <   | |      | |\/| | | . ` | | |  | | |  ___/  | |  | | |  _  /   \___ \     | |    | |  | |   \ \/ /     \ \/  \/ /     > <     \   /     / /          / _` | | '_ \   / __|  / _` |  / _ \ |  _|  / _` | | '_ \  | |   | | | |/ / | | | '_ ` _ \  | '_ \   / _ \  | '_ \   / _` | | '__| / __| | __| | | | | \ \ / / \ \ /\ / / \ \/ / | | | | |_  / | | | |  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, |           | | | | (_| |  _| || |_  \__ \   / /         / _ \/\ |_     _| | |   | |          |_   _| |______|  ______  / /     \ \ | | | |     | |   \ \               < <     > >   / /            / /        "
set     "font5= .....  / ____ \  | |_) | | |____  | |__| | | |____  | |      | |__| | | |  | |  _| |_  | |__| | | . \  | |____  | |  | | | |\  | | |__| | | |      | |__| | | | \ \   ____) |    | |    | |__| |    \  /       \  /\  /     / . \     | |     / /__        | (_| | | |_) | | (__  | (_| | |  __/ | |   | (_| | | | | | | |   | | |   <  | | | | | | | | | | | | | (_) | | |_) | | (_| | | |    \__ \ | |_  | |_| |  \ V /   \ V  V /   >  <  | |_| |  / /  | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /            |_|  \ \__,_| |_  __  _| (   /  / / _       | (_>  <  / , . \  | |   | |            |_|            |______| \ \     / / | | | |     | |    \ \   _   _       \ \   / /   |_|    _   _   / /         "
set     "font6=       /_/    \_\ |____/   \_____| |_____/  |______| |_|       \_____| |_|  |_| |_____|  \____/  |_|\_\ |______| |_|  |_| |_| \_|  \____/  |_|       \___\_\ |_|  \_\ (_____/     |_|     \____/      \/         \/  \/     /_/ \_\    |_|    /_____|        \__,_| |_.__/   \___|  \__,_|  \___| |_|    \__, | |_| |_| |_|   | | |_|\_\ |_| |_| |_| |_| |_| |_|  \___/  | .__/   \__, | |_|    |___/  \__|  \__,_|   \_/     \_/\_/   /_/\_\  \__, | /___|  \___/   |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/             (_)   \____/    |_||_|    |_|  /_/ (_)       \___/\/  \/|_|\/  | |   | |                                     | |   | |  | | | |_   _| |     \_\ (_) ( )       \_\ /_/    (_)   ( ) (_) /_/          "
set     "font7=                                                                                                                                                                                                                                                                                                          __/ |              _/ |                                        | |         | |                                                        __/ |                                                                                                                                                               \_\ /_/   ______                              \_\ /_/   |_| |___| |___|             |/                         |/                   "
set     "font8=                                                                                                                                                                                                                                                                                                         |___/              |__/                                         |_|         |_|                                                       |___/                                                                                                                                                                         |______|                                                                                                                   "
exit /b

:Font_Standard
set "fontChars= ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789`~!@#$%%^&*()_+-={}|[]\:;'<>?,./""
set "fontHeight=6"
set "fontWidth=   6      10       8        8       8       8       8       8       8      6      8      7       8       9        8       8       8       8       8       8       8       8       10          13        7       8      7     4     8      8       7        8      7     6      8       8     4    6      7    4      12         8       8       8       8      7      6     6      8       8        11       7       8      6      8     4     8       8       9        8       8       8       8       8     4    6    4      10        11       6     7     5      9       7      5   5      8       8       8       8      6     6    4   5     5     7    4   4   4    5   5     6    4   4    7      6  "
set     "font1=           _      ____     ____   ____    _____   _____    ____   _   _   ___       _   _  __  _       __  __   _   _    ___    ____     ___    ____    ____    _____   _   _  __     __ __        __ __  __ __   __  _____              _                  _           __           _       _     _   _      _                                                            _                                                      ___    _   ____    _____   _  _     ____     __     _____    ___     ___    _   /\/|  _     ____      _  _      _    _  __  /\    ___             __ __                                      __ __     _   __   __  __              _    __ __    ___              __  _ _ "
set     "font2= .....    / \    | __ )   / ___| |  _ \  | ____| |  ___|  / ___| | | | | |_ _|     | | | |/ / | |     |  \/  | | \ | |  / _ \  |  _ \   / _ \  |  _ \  / ___|  |_   _| | | | | \ \   / / \ \      / / \ \/ / \ \ / / |__  /       __ _  | |__     ___    __| |   ___   / _|   __ _  | |__   (_)   (_) | | __ | |  _ __ ___    _ __     ___    _ __     __ _   _ __   ___  | |_   _   _  __   __ __      __ __  __  _   _   ____  / _ \  / | |___ \  |___ /  | || |   | ___|   / /_   |___  |  ( _ )   / _ \  ( ) |/\/  | |   / __ \   _| || |_   | |  (_)/ / |/\|  ( _ )   __/\__  / / \ \             _             _____    / / \ \   | | | _| |_ | \ \     _   _  ( )  / / \ \  |__ \            / / ( | )"
set     "font3= .....   / _ \   |  _ \  | |     | | | | |  _|   | |_    | |  _  | |_| |  | |   _  | | | ' /  | |     | |\/| | |  \| | | | | | | |_) | | | | | | |_) | \___ \    | |   | | | |  \ \ / /   \ \ /\ / /   \  /   \ V /    / /       / _` | | '_ \   / __|  / _` |  / _ \ | |_   / _` | | '_ \  | |   | | | |/ / | | | '_ ` _ \  | '_ \   / _ \  | '_ \   / _` | | '__| / __| | __| | | | | \ \ / / \ \ /\ / / \ \/ / | | | | |_  / | | | | | |   __) |   |_ \  | || |_  |___ \  | '_ \     / /   / _ \  | (_) |  \|       | |  / / _` | |_  ..  _| / __)   / /        / _ \/\ \    / | |   | |          _| |_   _____  |_____|  | |   | |  | | | |   | |  \ \   (_) (_) |/  / /   \ \   / /           / /   V V "
set     "font4= .....  / ___ \  | |_) | | |___  | |_| | | |___  |  _|   | |_| | |  _  |  | |  | |_| | | . \  | |___  | |  | | | |\  | | |_| | |  __/  | |_| | |  _ <   ___) |   | |   | |_| |   \ V /     \ V  V /    /  \    | |    / /_      | (_| | | |_) | | (__  | (_| | |  __/ |  _| | (_| | | | | | | |   | | |   <  | | | | | | | | | | | | | (_) | | |_) | | (_| | | |    \__ \ | |_  | |_| |  \ V /   \ V  V /   >  <  | |_| |  / /  | |_| | | |  / __/   ___) | |__   _|  ___) | | (_) |   / /   | (_) |  \__, |           |_| | | (_| | |_      _| \__ \  / /_       | (_>  < /_  _\ | |   | |         |_   _| |_____| |_____| < <     > > | | | |   | |   \ \   _   _      \ \   / /  |_|   _   _   / /        "
set     "font5= ..... /_/   \_\ |____/   \____| |____/  |_____| |_|      \____| |_| |_| |___|  \___/  |_|\_\ |_____| |_|  |_| |_| \_|  \___/  |_|      \__\_\ |_| \_\ |____/    |_|    \___/     \_/       \_/\_/    /_/\_\   |_|   /____|      \__,_| |_.__/   \___|  \__,_|  \___| |_|    \__, | |_| |_| |_|  _/ | |_|\_\ |_| |_| |_| |_| |_| |_|  \___/  | .__/   \__, | |_|    |___/  \__|  \__,_|   \_/     \_/\_/   /_/\_\  \__, | /___|  \___/  |_| |_____| |____/     |_|   |____/   \___/   /_/     \___/     /_/            (_)  \ \__,_|   |_||_|   (   / /_/(_)       \___/\/   \/   | |   | |  _____    |_|                    | |   | |  | | | |   | |    \_\ (_) ( )      \_\ /_/   (_)  ( ) (_) /_/         "
set     "font6=                                                                                                                                                                                                                                                                             |___/              |__/                                         |_|         |_|                                                       |___/                                                                                                     \____/              |_|                               \_\ /_/  |_____|                           \_\ /_/   |_| |__| |__|            |/                      |/                  "
exit /b

font_Small.bat

set "fontChars= ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789`~!@#$%%^&*()_+-={}|[]\:;'<>?,./""
set "fontHeight=5"
set "fontWidth=  5      8      6      7     7      6     6      7     7      6     7      7      7       9       7       8      6      8      6     6      8       8       8        11       7       8      6    4    7       7    5     7      6     6     7      7     4    6     6    4    8       7      6     7      7      6    5     6     7      6      9       6     7     5     7     4    6     6     7      6     6     7      6     6    4    6    4     9        10      5      8     5     9       5     5  5     6       8      6     6     6     6    4   5     5    6    4   4   4    5   5     6    4   4    6     6  "
set     "font1=         _     ___    ___   ___    ___   ___    ___   _  _   ___      _   _  __  _      __  __   _  _    ___    ___    ___    ___   ___   _____   _   _  __   __ __      __ __  __ __   __  ____             _              _          __          _      _     _   _     _                                                 _                                              __    _   ___   ____  _ _    ___    __   ____   ___   ___   _   /\/|  _    ____      _ _          _  __   /\   __             __ __            _                   __ __     _   __   __  __     _   _   _    __ __    ___             __  _ _ "
set     "font2= ....   /_\   | _ )  / __| |   \  | __| | __|  / __| | || | |_ _|  _ | | | |/ / | |    |  \/  | | \| |  / _ \  | _ \  / _ \  | _ \ / __| |_   _| | | | | \ \ / / \ \    / / \ \/ / \ \ / / |_  /      __ _  | |__   __   __| |  ___   / _|  __ _  | |_   (_)   (_) | |__ | |  _ __    _ _    ___   _ __   __ _   _ _   ___ | |_   _  _  __ __ __ __ __ __ __  _  _   ___  /  \  / | |_  ) |__ / | | |  | __|  / /  |__  | ( _ ) / _ \ ( ) |/\/  | |  / __ \   _| | |_   ||_ (_)/ /  |/\| / _|___  _/\_  / / \ \         _| |_   ___   ___    / / \ \   | | | _| |_ | \ \   (_) (_) ( )  / / \ \  |__ \           / / ( | )"
set     "font3= ....  / _ \  | _ \ | (__  | |) | | _|  | _|  | (_ | | __ |  | |  | || | | ' <  | |__  | |\/| | | .` | | (_) | |  _/ | (_) | |   / \__ \   | |   | |_| |  \ V /   \ \/\/ /   >  <   \ V /   / /      / _` | | '_ \ / _| / _` | / -_) |  _| / _` | | ' \  | |   | | | / / | | | '  \  | ' \  / _ \ | '_ \ / _` | | '_| (_-< |  _| | || | \ V / \ V  V / \ \ / | || | |_ / | () | | |  / /   |_ \ |_  _| |__ \ / _ \   / /  / _ \ \_, /  \|       |_| / / _` | |_  .  _| (_-<   / /_       > _|_ _| >  < | |   | |       |_   _| |___| |___| _| |   | |_ | | | |   | |  \ \   _   _  |/  < <   > >   /_/  _   _   / /   V V "
set     "font4= .... /_/ \_\ |___/  \___| |___/  |___| |_|    \___| |_||_| |___|  \__/  |_|\_\ |____| |_|  |_| |_|\_|  \___/  |_|    \__\_\ |_|_\ |___/   |_|    \___/    \_/     \_/\_/   /_/\_\   |_|   /___|     \__,_| |_.__/ \__| \__,_| \___| |_|   \__, | |_||_| |_|  _/ | |_\_\ |_| |_|_|_| |_||_| \___/ | .__/ \__, | |_|   /__/  \__|  \_,_|  \_/   \_/\_/  /_\_\  \_, | /__|  \__/  |_| /___| |___/   |_|  |___/ \___/  /_/   \___/  /_/            (_) \ \__,_| |_     _| / _/  /_/(_)      \_____|   \/  | |   | |  ___    |_|         |___|  | |   | |  | | | |   | |   \_\ (_) ( )      \_\ /_/   (_)  ( ) (_) /_/        "
set     "font5=                                                                                                                                                                                                                                           |___/             |__/                                 |_|       |_|                                               |__/                                                                                   \____/    |_|_|    ||                              \_\ /_/  |___|                       \_\ /_/   |_| |__| |__|           |/                      |/                 "
exit /b

Full documentation is built into Banner.bat

Sample usage:

call banner printStr standard "Hello world!"

Andere Tipps

The Batch file below allows you to easily change the font:

@echo off
setlocal EnableDelayedExpansion

set "font[1]=   ___    __   ___    ____    _  _     _____     __    ______    ___     ___  "
set "font[2]=  / _ \  /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \ "
set "font[3]= | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |"
set "font[4]= | | | |  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, |"
set "font[5]= | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / / "
set "font[6]=  \___/   |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/  "
set fontWides=8 5 7 8 9 8 8 9 8 8
set fontLines=6

for /L %%i in (1,1,%fontLines%) do (
   set n=0
   for %%w in (%fontWides%) do (
      set num[%%i][!n!]=!font[%%i]:~0,%%w!
      set font[%%i]=!font[%%i]:~%%w!
      set /A n+=1
   )
)

echo All digits:
call :numBanner 1234567890
echo A test with number 725:
call :numBanner 725
goto :EOF

:numBanner number
set number=%1
set "digits="
:nextDigit
   set digits=%digits% %number:~0,1%
   set number=%number:~1%
if defined number goto nextDigit
for /L %%i in (1,1,%fontLines%) do (
   set "line="
   for %%d in (%digits%) do (
      set line=!line!!num[%%i][%%d]!
   )
   echo !line!
)
exit /B

Output:

All digits:
  __   ___    ____    _  _     _____     __    ______    ___     ___     ___
 /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \   / _ \
  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) | | | | |
  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, | | | | |
  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /  | |_| |
  |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/    \___/
A test with number 725:
  ______   ___    _____
 |____  | |__ \  | ____|
     / /     ) | | |__
    / /     / /  |___ \
   / /     / /_   ___) |
  /_/     |____| |____/

Update

I got an unpleasant surprise when I discovered that I lost the points I earned when my answer was selected as Best answer. It seems that the 15 points are for the "bigger answer" and I am interested in recover my 15 points, so here we go...

The ultimate Ascii-art banner program is FIGlet, that use fonts defined in files with .flf extension called "FIGfonts". There are hundreds of FIGfonts; you may browse some of them in FIGlet Fonts Library.

FIGBat.bat is a Batch program compatible with FIGfonts that I wrote some time ago. Here it is:

@echo off

rem Windows/DOS Batch version of FIGlet program: display text using a FIGfont
rem http://www.jave.de/figlet/fonts.html          http://www.figlet.org/
rem FIGBat.bat version 1.0 - Antonio Perez Ayala - May/12/2012

rem This program does not perform fitting nor smushing

setlocal EnableDelayedExpansion
set specialChar[=exclam
set specialChar["]=quote
set specialChar[*]=star
set specialChar[?]=question
set specialChar[~]=tilde
set charSet=" " exclam] quote #  $  percent "&" '  ( ")" star   +  "," -      .     /         ^
             0  1       2     3  4  5        6  7  8  9  colon ";" "<" equal ">"    question  ^
             @  A       B     C  D  E        F  G  H  I  J      K   L  M      N     O         ^
             P  Q       R     S  T  U        V  W  X  Y  Z      [   \  ]      caret _         ^
             ` _a      _b    _c _d _e       _f _g _h _i _j     _k  _l _m     _n    _o         ^
            _p _q      _r    _s _t _u       _v _w _x _y _z      {  "|" }      tilde           ^
             Ä  Ö       Ü     ä  ö  ü        ß
rem Ascii: 196  214    220  228 246 252     223     Standard German FIGChars
set lowcaseLetters=a b c d e f g h i j k l m n o p q r s t u v w x y z

set font=solid
set "dir=%~DP0"
REM set alignment=
REM set outputWidth=8190
set outputColor=
set multiColor=


rem Process switches

if "%~1" neq "/?" if "%~1" neq "-?" goto checkNextSwitch
echo Display text using a FIGfont
echo/
echo FIGBat [/f font] [/d dir] [/c^|l^|r] [/t^|w width] [/a attr] [word ...]
echo/
echo /f    select a font file.
echo /d    change the directory for fonts.
echo /c    centers the output.
echo /l    left-aligns the output.
echo /r    right-aligns the output.
echo /t    sets the output width to the terminal width.
echo /w    specifies a custom output width.
echo /a    sets the output color:
echo       /a bf   set color as attribute (see COLOR /? for more info)
echo       /a RB   set colors as Rainbow Bands
echo       /a MC   set Multi-color Characters in random order
echo/
echo word ...  Text to display. If not given, read lines to show from STDIN.
echo/
echo /c /l /r switches may include a number separated by equal-sign that define
echo a left margin at which the alignment start.
echo/
echo /t /w switches may include a S or D letter separated by equal-sign that
echo indicate to enclose the FIGure into a frame of Single or Double lines.
echo/
echo For example:
echo     figbat /c=19 /w=s 41 Text centered into a frame between columns 20 and 60
echo/
echo Multiple switches can NOT be combined in one; write each one individually.
echo/
goto :EOF

:switch/F
set "font=%~N2"
goto shift2

:switch/D
set "dir=%~2"
goto shift2

:switch/W
set outputWidth=%2
goto shift2

:switch/A
set outputColor=%2
if /I %2 equ MC (
   rem Activate Multi-color Characters
   set multiColor=1
)
if /I %2 equ RB (
   rem Define colors as Rainbow Bands
   set lastColor=0
   for %%a in (  E D C B A 9     6 5 4 3 2 1  ) do (
      set /A lastColor+=1
      set color[!lastColor!]=%%a
   )
   set outputColor=!color[1]!
   set rainbowBand=1
)
:shift2
shift
goto shift1

:switch/C
set alignment=center
goto shift1

:switch/L
set alignment=left
goto shift1

:switch/R
set alignment=right
goto shift1

:switch/T
for /F "skip=4 tokens=2" %%a in ('mode con /status') do (
   set outputWidth=%%a
   goto shift1
)
:shift1
shift

:checkNextSwitch
for %%a in (/ -) do (
   for %%b in (f d c l r t w a) do if /I "%~1" equ "%%a%%b" goto switch/%%b
)


rem Load the FIGfont file
if "%dir:~-1%" == "\" set "dir=%dir:~0,-1%"
if not exist "%dir%\%font%.flf" (
   echo FIGfont file not found: "%dir%\%font%.flf"
   goto :EOF
)
call :loadFIGfont < "%dir%\%font%.flf"

rem Show text from parameters or from input lines
if "%~1" equ "" goto readNextLine

set "line=%~1"
:getNextWord
   shift
   if "%~1" neq "" set "line=%line% %~1" & goto getNextWord
call :showFIGure line
goto :EOF

:readNextLine
   set line=
   set /P line=
   if not defined line goto :EOF
   call :showFIGure line
   goto readNextLine
:EOF


Format of HeaderLine in a FIGfont.flf file:

#Token in FOR /F "tokens=... Batch command

1 - Signature&Hardblank, for example: f1f2a$ (hard blank is usually $)
2 - Height (of FIGcharacters in lines)
3 - Baseline (height of font from baseline up)
4 - Max_Lenght (width of the widest FIGcharacter, plus a small factor)
5 - Old_Layout (default smushmode for this font)
6 - Comment_Lines (between HeaderLine and the first FIGcharacter)
7 - Print_Direction (usually 0)
8 - Full_Layout (detailed smushmode specification)
9 - Codetag_Count (number of FIGcharacters in the font minus 102)


rem Load a FIGfont.flf file

:loadFIGfont < FIGfont.flf
rem Get font parameters from Header line
set /P HeaderLine=
for /F "tokens=1,2,6" %%a in ("%HeaderLine%") do (
   set firstToken=%%a
   set Height=%%b
   set Comment_Lines=%%c
)
set Hardblank=%firstToken:~-1%
rem Skip comment lines
for /L %%a in (1,1,%Comment_Lines%) do set /P =
rem Load FIGchars in "FIG<char><line>=sub-chars" variables
for %%a in (%charSet%) do (
   for /L %%b in (1,1,%Height%) do (
      set /P "FIG%%~a%%b="
      rem Remove one or two end marks
      set "endmark=!FIG%%~a%%b:~-1!"
      set "FIG%%~a%%b=!FIG%%~a%%b:~0,-1!"
      if "!FIG%%~a%%b:~-1!" equ "!endmark!" set "FIG%%~a%%b=!FIG%%~a%%b:~0,-1!"
      rem Replace hard blanks by spaces (no smushing)
      if "!FIG%%~a%%b!" neq "" set "FIG%%~a%%b=!FIG%%~a%%b:%Hardblank%= !"
   )
)
exit /B


rem Show an Ascii string as a FIGure

:showFIGure stringVar

rem Get lenght of Ascii string (1024 characters max)
set textLen=0
for /L %%a in (9,-1,0) do (
   set /A "bit=1<<%%a, lastLen=bit+textLen"
   for %%B in (!lastLen!) do if "!%1:~%%B,1!" neq "" set textLen=%%B
   )
)
rem Convert Ascii characters into the charSet used in FIGcharacters
for /L %%a in (0,1,%textLen%) do (
   set "char=!%1:~%%a,1!"
   call :changeSpecial char="!char!"
   set char[%%a]=!char!
)
rem Randomize color order for Multicolor Characters mode
if defined multiColor (
   set "colors= F E D C B A 9 8 7 6 5 4 3 2 1 "
   set lastColor=0
   for /L %%a in (15,-1,2) do (
      set /A "lastColor+=1, randomColor=(!random!*%%a)/32768+1"
      call :moveColor !randomColor!
   )
   set /A lastColor+=1
   set color[!lastColor!]=!colors: =!
)
rem Show the equivalent FIGure
for /L %%a in (1,1,%Height%) do (
   if defined multiColor (
      set multiColor=1
      for /L %%b in (0,1,%textLen%) do (
         REM                                                                                PATCH TO AVOID ERRORS WHEN SHOW QUOTES :"='
         for /F "tokens=1,2 delims=%Hardblank%" %%C in ("!char[%%b]!%Hardblank%!multiColor!") do ColorMsg !color[%%D]! "!FIG%%~C%%a:"=""!"
         set /A multiColor+=1
         if !multiColor! gtr !lastColor! (
            set multiColor=1
         )
      )
      echo/
   ) else (
      set FIGline=
      for /L %%b in (0,1,%textLen%) do (
         for %%C in ("!char[%%b]!") do set FIGline=!FIGline!!FIG%%~C%%a!
      )
      if defined outputColor (
         REM PATCH TO AVOID ERRORS WHEN SHOW QUOTES :"='
         ColorMsg !outputColor! "!FIGline:"=""!"
         echo/
         if defined rainbowBand (
            set /A rainbowBand+=1
            if !rainbowBand! gtr !lastColor! (
               set rainbowBand=1
            )
            for %%B in (!rainbowBand!) do set outputColor=!color[%%B]!
         )
      ) else (
         echo(!FIGline!
      )
   )
)
exit /B


rem Auxiliary subroutine for Randomize colors

:moveColor index
for /F "tokens=%1" %%a in ("%colors%") do (
   set color[%lastColor%]=%%a
   set colors=!colors: %%a = !
)
exit /B


rem Change characters that can not be easily managed in a Batch file

:changeSpecial changedChar="!originalChar!"
rem Change the special characters that can be included in a variable name
set "special=!specialChar[%~2]!"
if "!special!" equ "specialChar[:]" set special=colon
if defined special set %1=%special%& exit /B
rem Change the rest of special characters
if "%~2" equ "" set special=percent
if "%~2" equ "=" set special=equal
if "%~2" equ "^^" set special=caret
if defined special set %1=%special%& exit /B
rem Change lowcase letters (mistaken for upcase letters in variable names)
for %%a in (%lowcaseLetters%) do (
   if "%~2" equ "%%a" (
      set %1=_%%a
   )
)
exit /B

This is a sample of a few of the existent FIGfonts displayed with FIGBat.bat program:

================= Alligator3.flf: 9462 bytes ================
    :::     :::        :::        :::::::::::  ::::::::      :::     :::::::::::  ::::::::  :::::::::   ::::::::  
  :+: :+:   :+:        :+:            :+:     :+:    :+:   :+: :+:       :+:     :+:    :+: :+:    :+: :+:    :+: 
 +:+   +:+  +:+        +:+            +:+     +:+         +:+   +:+      +:+     +:+    +:+ +:+    +:+        +:+ 
+#++:++#++: +#+        +#+            +#+     :#:        +#++:++#++:     +#+     +#+    +:+ +#++:++#:      +#++:  
+#+     +#+ +#+        +#+            +#+     +#+   +#+# +#+     +#+     +#+     +#+    +#+ +#+    +#+        +#+ 
#+#     #+# #+#        #+#            #+#     #+#    #+# #+#     #+#     #+#     #+#    #+# #+#    #+# #+#    #+# 
###     ### ########## ########## ###########  ########  ###     ###     ###      ########  ###    ###  ########  
================= Alpha.flf: 36168 bytes ================
          _____                    _____            _____                    _____                    _____          
         /\    \                  /\    \          /\    \                  /\    \                  /\    \         
        /::\    \                /::\____\        /::\    \                /::\____\                /::\    \        
       /::::\    \              /:::/    /       /::::\    \              /:::/    /               /::::\    \       
      /::::::\    \            /:::/    /       /::::::\    \            /:::/    /               /::::::\    \      
     /:::/\:::\    \          /:::/    /       /:::/\:::\    \          /:::/    /               /:::/\:::\    \     
    /:::/__\:::\    \        /:::/    /       /:::/__\:::\    \        /:::/____/               /:::/__\:::\    \    
   /::::\   \:::\    \      /:::/    /       /::::\   \:::\    \      /::::\    \              /::::\   \:::\    \   
  /::::::\   \:::\    \    /:::/    /       /::::::\   \:::\    \    /::::::\    \   _____    /::::::\   \:::\    \  
 /:::/\:::\   \:::\    \  /:::/    /       /:::/\:::\   \:::\____\  /:::/\:::\    \ /\    \  /:::/\:::\   \:::\    \ 
/:::/  \:::\   \:::\____\/:::/____/       /:::/  \:::\   \:::|    |/:::/  \:::\    /::\____\/:::/  \:::\   \:::\____\
\::/    \:::\  /:::/    /\:::\    \       \::/    \:::\  /:::|____|\::/    \:::\  /:::/    /\::/    \:::\  /:::/    /
 \/____/ \:::\/:::/    /  \:::\    \       \/_____/\:::\/:::/    /  \/____/ \:::\/:::/    /  \/____/ \:::\/:::/    / 
          \::::::/    /    \:::\    \               \::::::/    /            \::::::/    /            \::::::/    /  
           \::::/    /      \:::\    \               \::::/    /              \::::/    /              \::::/    /   
           /:::/    /        \:::\    \               \::/____/               /:::/    /               /:::/    /    
          /:::/    /          \:::\    \               ~~                    /:::/    /               /:::/    /     
         /:::/    /            \:::\    \                                   /:::/    /               /:::/    /      
        /:::/    /              \:::\____\                                 /:::/    /               /:::/    /       
        \::/    /                \::/    /                                 \::/    /                \::/    /        
         \/____/                  \/____/                                   \/____/                  \/____/         

================= Banner.flf: 34391 bytes ================
 ######                                               #######                        
 #     #    ##    #    #  #    #  ######  #####       #         ####   #    #  ##### 
 #     #   #  #   ##   #  ##   #  #       #    #      #        #    #  ##   #    #   
 ######   #    #  # #  #  # #  #  #####   #    #      #####    #    #  # #  #    #   
 #     #  ######  #  # #  #  # #  #       #####       #        #    #  #  # #    #   
 #     #  #    #  #   ##  #   ##  #       #   #       #        #    #  #   ##    #   
 ######   #    #  #    #  #    #  ######  #    #      #         ####   #    #    #   

================= Bear.flf: 10459 bytes ================
   _     _      _     _      _     _      _     _        _     _      _     _      _     _      _     _   
  (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)      (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)  
   / ._. \      / ._. \      / ._. \      / ._. \        / ._. \      / ._. \      / ._. \      / ._. \   
 __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__    __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__ 
(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)  (_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
   || B ||      || E ||      || A ||      || R ||        || F ||      || O ||      || N ||      || T ||   
 _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._    _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._ 
(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-`\.-.)  (.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)
 `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'    `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-' 
================= BulbHead.flf: 4454 bytes ================
 ____  __  __  __    ____  _   _  ____    __    ____     ____  _____  _  _  ____ 
(  _ \(  )(  )(  )  (  _ \( )_( )( ___)  /__\  (  _ \   ( ___)(  _  )( \( )(_  _)
 ) _ < )(__)(  )(__  ) _ < ) _ (  )__)  /(__)\  )(_) )   )__)  )(_)(  )  (   )(  
(____/(______)(____)(____/(_) (_)(____)(__)(__)(____/   (__)  (_____)(_)\_) (__) 
================= DancingFont.flf: 8382 bytes ================
  ____        _        _   _        ____                  _   _        ____     _____     U  ___ u   _   _       _____   
 |  _"\   U  /"\  u   | \ |"|    U /"___|      ___       | \ |"|    U /"___|u  |" ___|     \/"_ \/  | \ |"|     |_ " _|  
/| | | |   \/ _ \/   <|  \| |>   \| | u       |_"_|     <|  \| |>   \| |  _ / U| |_  u     | | | | <|  \| |>      | |    
U| |_| |\  / ___ \   U| |\  |u    | |/__       | |      U| |\  |u    | |_| |  \|  _|/  .-,_| |_| | U| |\  |u     /| |\   
 |____/ u /_/   \_\   |_| \_|      \____|    U/| |\u     |_| \_|      \____|   |_|      \_)-\___/   |_| \_|     u |_|U   
  |||_     \\    >>   ||   \\,-.  _// \\  .-,_|___|_,-.  ||   \\,-.   _)(|_    )(\\,-        \\     ||   \\,-.  _// \\_  
 (__)_)   (__)  (__)  (_")  (_/  (__)(__)  \_)-' '-(_/   (_")  (_/   (__)__)  (__)(_/       (__)    (_")  (_/  (__) (__) 
================= Doom.flf: 8386 bytes ================
______                           ______                _   
|  _  \                          |  ___|              | |  
| | | |  ___    ___   _ __ ___   | |_     ___   _ __  | |_ 
| | | | / _ \  / _ \ | '_ ` _ \  |  _|   / _ \ | '_ \ | __|
| |/ / | (_) || (_) || | | | | | | |    | (_) || | | || |_ 
|___/   \___/  \___/ |_| |_| |_| \_|     \___/ |_| |_| \__|


================= Epic.flf: 10789 bytes ================
 _______  _______ _________ _______    _______  _______  _       _________
(  ____ \(  ____ )\__   __/(  ____ \  (  ____ \(  ___  )( (    /|\__   __/
| (    \/| (    )|   ) (   | (    \/  | (    \/| (   ) ||  \  ( |   ) (   
| (__    | (____)|   | |   | |        | (__    | |   | ||   \ | |   | |   
|  __)   |  _____)   | |   | |        |  __)   | |   | || (\ \) |   | |   
| (      | (         | |   | |        | (      | |   | || | \   |   | |   
| (____/\| )      ___) (___| (____/\  | )      | (___) || )  \  |   | |   
(_______/|/       \_______/(_______/  |/       (_______)|/    )_)   )_(   

================= Graceful.flf: 9364 bytes ================
  ___  ____   __    ___  ____  ____  _  _  __          ____   __   __ _  ____ 
 / __)(  _ \ / _\  / __)(  __)(  __)/ )( \(  )        (  __) /  \ (  ( \(_  _)
( (_ \ )   //    \( (__  ) _)  ) _) ) \/ (/ (_/\       ) _) (  O )/    /  )(  
 \___/(__\_)\_/\_/ \___)(____)(__)  \____/\____/      (__)   \__/ \_)__) (__) 
================= Isometric1.flf: 12753 bytes ================
                  ___           ___           ___           ___           ___           ___                       ___     
      ___        /\  \         /\  \         /\__\         /\  \         /\  \         /\  \          ___        /\  \    
     /\  \      /::\  \       /::\  \       /::|  |       /::\  \        \:\  \       /::\  \        /\  \      /::\  \   
     \:\  \    /:/\ \  \     /:/\:\  \     /:|:|  |      /:/\:\  \        \:\  \     /:/\:\  \       \:\  \    /:/\:\  \  
     /::\__\  _\:\~\ \  \   /:/  \:\  \   /:/|:|__|__   /::\~\:\  \       /::\  \   /::\~\:\  \      /::\__\  /:/  \:\  \ 
  __/:/\/__/ /\ \:\ \ \__\ /:/__/ \:\__\ /:/ |::::\__\ /:/\:\ \:\__\     /:/\:\__\ /:/\:\ \:\__\  __/:/\/__/ /:/__/ \:\__\
 /\/:/  /    \:\ \:\ \/__/ \:\  \ /:/  / \/__/~~/:/  / \:\~\:\ \/__/    /:/  \/__/ \/_|::\/:/  / /\/:/  /    \:\  \  \/__/
 \::/__/      \:\ \:\__\    \:\  /:/  /        /:/  /   \:\ \:\__\     /:/  /         |:|::/  /  \::/__/      \:\  \      
  \:\__\       \:\/:/  /     \:\/:/  /        /:/  /     \:\ \/__/     \/__/          |:|\/__/    \:\__\       \:\  \     
   \/__/        \::/  /       \::/  /        /:/  /       \:\__\                      |:|  |       \/__/        \:\__\    
                 \/__/         \/__/         \/__/         \/__/                       \|__|                     \/__/    
================= Jacky.flf: 12329 bytes ================
  ________     ____       ____    __   ___  __      __     _________     ____        __      _   ________  
 (___  ___)   (    )     / ___)  () ) / __) ) \    / (    (_   _____)   / __ \      /  \    / ) (___  ___) 
     ) )      / /\ \    / /      ( (_/ /     \ \  / /       ) (___     / /  \ \    / /\ \  / /      ) )    
    ( (      ( (__) )  ( (       ()   (       \ \/ /       (   ___)   ( ()  () )   ) ) ) ) ) )     ( (     
 __  ) )      )    (   ( (       () /\ \       \  /         ) (       ( ()  () )  ( ( ( ( ( (       ) )    
( (_/ /      /  /\  \   \ \___   ( (  \ \       )(         (   )       \ \__/ /   / /  \ \/ /      ( (     
 \___/      /__(  )__\   \____)  ()_)  \_\     /__\         \_/         \____/   (_/    \__/       /__\    

================= Ogre.flf: 6313 bytes ================
   ___                        ___                _   
  /___\  __ _  _ __   ___    / __\  ___   _ __  | |_ 
 //  // / _` || '__| / _ \  / _\   / _ \ | '_ \ | __|
/ \_// | (_| || |   |  __/ / /    | (_) || | | || |_ 
\___/   \__, ||_|    \___| \/      \___/ |_| |_| \__|
        |___/                                        
================= Puffy.flf: 8227 bytes ================
 ___             ___    ___            ___                  _   
(  _`\         /'___) /'___)          (  _`\               ( )_ 
| |_) ) _   _ | (__  | (__   _   _    | (_(_)   _     ___  | ,_)
| ,__/'( ) ( )| ,__) | ,__) ( ) ( )   |  _)   /'_`\ /' _ `\| |  
| |    | (_) || |    | |    | (_) |   | |    ( (_) )| ( ) || |_ 
(_)    `\___/'(_)    (_)    `\__, |   (_)    `\___/'(_) (_)`\__)
                            ( )_| |                             
                            `\___/'                             
================= Rounded.flf: 7432 bytes ================
 ______                            _             _    _______                      
(_____ \                          | |           | |  (_______)                 _   
 _____) )  ___   _   _  ____    __| | _____   __| |   _____     ___   ____   _| |_ 
|  __  /  / _ \ | | | ||  _ \  / _  || ___ | / _  |  |  ___)   / _ \ |  _ \ (_   _)
| |  \ \ | |_| || |_| || | | |( (_| || ____|( (_| |  | |      | |_| || | | |  | |_ 
|_|   |_| \___/ |____/ |_| |_| \____||_____) \____|  |_|       \___/ |_| |_|   \__)

================= Script.flf: 16682 bytes ================
                                  ______                 
   ()            o               (_) |                   
   /\  __   ,_         _  _|_       _|_  __   _  _   _|_ 
  /  \/    /  |  |  _|/ \_ |       / | |/  \_/ |/ |   |  
 /(__/\___/   |_/|_/ |__/  |_/    (_/   \__/   |  |_/ |_/
                    /|                                   
                    \|                                   
================= Standard.flf: 30562 bytes ================
  ____    _                         _                      _     _____                   _   
 / ___|  | |_    __ _   _ __     __| |   __ _   _ __    __| |   |  ___|   ___    _ __   | |_ 
 \___ \  | __|  / _` | | '_ \   / _` |  / _` | | '__|  / _` |   | |_     / _ \  | '_ \  | __|
  ___) | | |_  | (_| | | | | | | (_| | | (_| | | |    | (_| |   |  _|   | (_) | | | | | | |_ 
 |____/   \__|  \__,_| |_| |_|  \__,_|  \__,_| |_|     \__,_|   |_|      \___/  |_| |_|  \__|

================= Stop.flf: 7504 bytes ================
    _                           _______                     
   | |    _                    (_______)               _    
    \ \  | |_    ___   ____     _____     ___   ____  | |_  
     \ \ |  _)  / _ \ |  _ \   |  ___)   / _ \ |  _ \ |  _) 
 _____) )| |__ | |_| || | | |  | |      | |_| || | | || |__ 
(______/  \___) \___/ | ||_/   |_|       \___/ |_| |_| \___)
                      |_|                                   
================= Train.flf: 6983 bytes ================
  _____                     _                        ___                    _    
 |_   _|    _ _   __ _     (_)    _ _       o O O   | __|   ___    _ _     | |_  
   | |     | '_| / _` |    | |   | ' \     o        | _|   / _ \  | ' \    |  _| 
  _|_|_   _|_|_  \__,_|   _|_|_  |_||_|   TS__[O]  _|_|_   \___/  |_||_|   _\__| 
_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| {======|_| """ |_|"""""|_|"""""|_|"""""|
"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
echo   __   ___    ____    _  _     _____     __    ______    ___     ___     ___  
echo  /_ ^| ^|__ \  ^|___ \  ^| ^|^| ^|   ^| ____^|   / /   ^|____  ^|  / _ \   / _ \   / _ \ 
echo   ^| ^|    ) ^|   __) ^| ^| ^|^| ^|_  ^| ^|__    / /_       / /  ^| (_) ^| ^| (_) ^| ^| ^| ^| ^|
echo   ^| ^|   / /   ^|__ ^<  ^|__   _^| ^|___ \  ^| '_ \     / /    ^> _ ^<   \__, ^| ^| ^| ^| ^|
echo   ^| ^|  / /_   ___) ^|    ^| ^|    ___) ^| ^| (_) ^|   / /    ^| (_) ^|    / /  ^| ^|_^| ^|
echo   ^|_^| ^|____^| ^|____/     ^|_^|   ^|____/   \___/   /_/      \___/    /_/    \___/ 

You can try with subroutines (or macros ):

call :echo_one
call :echo_two

:echo_one
echo   __    
echo  /_ ^|  
echo   ^| ^|
echo   ^| ^|
echo   ^| ^|
echo   ^|_^|
goto :eof

:echo_two
echo     ___     
echo   ^|__ \ 
echo       ) ^| 
echo      / /   
echo     / /_   
echo   ^|____^| 
goto :eof
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top