Anzeige

Am Puls von Microsoft

Anzeige

Spielerei mit farbigen Zeilen in CMD und Batch-Dateien

Das ist eine Gruppenrichtlinie ... richtig.
Grundsätzlich schalte ich bei meinen PC´s erst einmal per reg-Datei Import das Info-Center
als Grupenrichtlinie ein. Dann ist bzw. gilt diese Variable schon einmal als gesetzt in Batch-Script!
Dann funktioniert auch die Abfrage dazu und auch die echo Ergebniszeile dazu.


Ich habe aber mit der Choice.exe auch ein Problem.

Eine Abfrage der ESC-Taste scheidet mit der Choice.exe ja wohl aus, oder?
Die Choice.exe kann die Zahlen von 0-9, die Buchstaben von A bis Z und
die ASCII Sonderzeichen von 128 bis 254. Aber eben nicht den ASCII Code 27 (Taste ESC).
Obwohl merkwürdiger Weise hier zu entnehmen ist, dass es angeblich doch gehen soll:
Siehe fett gemachte Zeilen im Spoiler. Aber so geht es auch nicht. Ich habe es getestet!
=========== CHOICE (DOS 6.+) ======================= Lektion #19 ===


Seit MS-DOS Version 6.0 wird ein Hilfsprogramm mitgeliefert, das
in dieser oder ähnlicher Form (meist unter anderem Namen) bereits
seit etlichen Jahren im Umlauf ist: CHOICE ("Auswahl").

CHOICE hält den Ablauf an und wartet auf eine Tasten-Eingabe, wobei
die erlaubten Tasten im CHOICE-Befehl vorgegeben werden.
Entsprechend der gedrückten Taste kann dann per Errorlevel-Abfrage
verzweigt werden. Als Option gibt's die Möglichkeit, den Ablauf nach
nn Sekunden automatisch fortzusetzen.

Syntax -----------------------------------------------------------

CHOICE [/C[:]Tasten] [/N] [/S] [/T[:]c,nn] [Text]

/C[:]Tasten Angabe der zulässigen Tasten. Standard ist JN.
/N Keine Anzeige der zulässigen Tasten am Ende der
Eingabeaufforderung
/S Groß-/Kleinschreibung für Tasten wird beachtet.
/T[:]c,nn Nach nn Sekunden wird Standardauswahl c ausgeführt.
Text Eingabeaufforderung, die angezeigt wird.

ERRORLEVEL ist auf die Position (1...) der gedrückten Taste aus der
Tastenauswahl gesetzt.
------------------------------------------------------------------

Beispiel: CHOICE /C:JN weiter
if errorlevel 2 goto ENDE

DOS gibt folgenden Prompt aus:

weiter [J,N]?
^^^^^^-------- wird gem. /C Angaben eingesetzt

Da "J,N" Standard ist, kann in diesem Falle die Option /C auch
weggelassen werden. Je nach gedrückter Taste wird der Errorlevel
entsprechend der Position (1...) in der /C Option gesetzt. Mit "N"
wird also im obigen Beispiel Errorlevel 2 gesetzt.

Errorlevel 0 wird übrigens nie zurückgegeben.
Bei Syntax-Fehlern wird Errorlevel 255 zurückgegeben, und der Ablauf
wird ohne Pause fortgesetzt. Also: entweder zusätzlich Errorlevel
255 abfragen oder keine Fehler machen!

Weitere Erläuterungen:

/C[:]Tasten

Die Zahl der zugelassenen Tasten ist nicht begrenzt. Es können aber
nur ASCII-Zeichen als Tasten angegeben werden, ohne Trennzeichen
dazwischen. Beispiel:

CHOICE /C:NWA Nochmal, Weiter oder Abbrechen

Control-Codes sind möglich, wenn sie als Zeichen dargestellt werden
können, z.B. ESCAPE wie bei den ANSI-Sequenzen. ENTER und Leertaste
sind nicht verwendbar.

Text

Was nicht mit einem Schrägstrich beginnt, wird als Text (Prompt,
Eingabeaufforderung) auf dem Bildschirm ausgegeben. Der Text darf
in (doppelten) Anführungszeichen angegeben werden. In diesem Falle
sind auch Schrägstriche im Text erlaubt.

/N

Die zulässigen Zeichen in eckigen Klammern (plus Fragezeichen)
werden mit /N nicht automatisch im Prompt hinzugefügt. (Option /N
empfiehlt sich z.B. bei Verwendung von ESC.)

/T[:]c,nn

Nach nn Sekunden (maximal zweistellige Angabe!) wird automatisch
fortgesetzt. Die Angabe c ist ein Buchstabe aus der /C Option.
Nach Ablauf der Zeit wird der Errorlevel so gesetzt, als würde diese
Taste gedrückt. Beispiel:

CHOICE Weiter suchen /C:JN /T:N,5

(Hier kann die Option /C weggelassen werden, da JN Standard ist)

Menues
------
Mit ECHO-Zeilen kann zuvor ein Menü ausgegeben werden, z.B.:

echo 1 Mailer
echo 2 Editor
echo 3 Packer
echo 4 Terminal
echo.
choice Auswahl (Ziffer), ESC=Ende /C:1234# /N
:: hier ESC-Code (27) ----------------^


Durch zusätzliche Rahmen und ANSI-Farben läßt sich damit ein
ganz passables Bild produzieren. Auch der Text in der CHOICE-Zeile
darf ANSI-Sequenzen enthalten!


Quelle Thomas Antoni.


Nachteil bei der Pause >nul Funktion in Kombination mit der Keyin.exe ist halt,
dass man jede weitereführende Menü-Taste zweimal drücken muss. Und ja... auch die Taste ESC.
Ärgerlich
Es gibt keine 100%ige passende Möglichtkeit!
Weder die Choice.exe noch die Keyin.exe bieten eine zufriedenstellende Lösung.
Aber trotzdem haben beide .exe Dateien so Ihre Vorteile. Aber eben auch Nachteile.
 
Zuletzt bearbeitet:
Anzeige
Weder die Choice.exe noch die Keyin.exe bieten eine zufriedenstellende Lösung.
Stimmt, denn auch folgende Lösung gefällt mir nicht richtig:

Code:
Echo off
cls
chcp 65001 >nul & rem Umlaute anzeigen

:init
  rem erzeuge Escape-Char
for /f %%. in ('"echo prompt $E|cmd"') do set "ESC=%%."

  rem Basis-Sequenzen
  rem setze gib Zeile mit 16 Vordergundfarbe aus:
echo %ESC%[0mHallo Standard
echo %ESC%[32mHallo Vordergrund Grün
echo %ESC%[95mHallo Vordergrund leuchtend Magenta

  rem Kombination verschiedener  Basissequenzen (frei kombinierbar getrennt semikolon)
echo %ESC%[93;104mHallo Vordergrund leuchtend Gelb,Hintergrund leuchtend Blau
echo %ESC%[91;4;49mHallo Vordergrund leuchtend Rot,Unterstrichen,Hintergrund Standard
echo %ESC%[7mFarben negativ,nächste Zeile  wieder Positiv%ESC%[27m
  rem innerhalb der Zeile farben ändern
echo %ESC%[97;44mHallo Vordergrund leuchtend Weiß,Hintergrund blau,%ESC%[95mVordergrund leuchtend Magenta,nächste Zeile komplett Standard%ESC%[0m

:KeyCode
PowerShell -NoProfile -Command "Write-Host 'Drücken Sie auf J für Ja, N für Nein oder ESC für Abbrechen: '-NoNewLine;Exit($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown').VirtualKeyCode)"
echo KeyCode = %ErrorLevel%
if errorlevel 27 if not errorlevel 28 exit
if errorlevel 78 if not errorlevel 79 goto :init
if errorlevel 74 if not errorlevel 75 goto :init
goto :KeyCode

Lässt man den Echo-Befehl weg, wird anstatt "KeyCode" "Hallo Standard" angezeigt. Ganz ohne irgendeine Ausgabe habe ich es nicht hinbekommen.

Quelle Script: Beitrag #12
Quelle KeyCode: How to distinguish between Enter and Escape key presses in interactive Windows bat/cmd scripts (cmd.exe)?
 
Okay ich denke mal das war es dann.
Ich danke Dir vielmals für die Hilfe. :LOL:
Aber die Frage bleibt für mich warum MS (auf wenn DOS, CMD, Batch total old school ist)
es von MS keine Lösung für eine solche Sache gibt oder gab.
Denn farbige und gleichzeitig blinkende DOS-Zeilen gehen ja auch nur über Windows 10 Build 1903
und soviel ich mit bekommen habe gehen gewisse Teil-Funktionen unterhalb von Build 1903 ja auch nicht.
Also muss da ja irgend ein MA von MS in den letzten Jahren (wann, wo, wie und im welchen Zeitrahmen auch
immer), vielleicht auch still und heimlich etwas an der ANSI und ASCII-Schraube für den DOS-Commando Interpreter
gedreht haben. Ist aber nur ´ne Vermutung meinerseits...
Denn von ganz Alleine kommt das ja nicht, dass es seit Build 1903 möglich, ist farbige und gleichzeitig blinkende Zeilen in einem CMD DOS-Fenster darzustellen.
Ich hatte übrigens auch mit moin moin von DM mal dadrüber gemailt.
Der meinte schaut Euch doch mal die Scripts von UUPDump unter aria2 an.
Recht hat er ja, aber diese Scripts enden alle zwar in einem DOS-Ähnlichen Zustand, sind auch schön bunt,
aber es ist ja ein Powershell Script wo der fortlaufende Zustand des Downloads
und der einzelen Dateien angezeigt wird. Und halt eben kein DOS-Script.
 
Hallo @skorpion68

Jetzt bin ich aber etwas verwirrt und ich hoffe ich missverstehe Dich nicht.

In Beitrag #22 von Dir hattest Du das hier geschrieben:

Lässt man den Echo-Befehl weg, wird anstatt "KeyCode" "Hallo Standard" angezeigt. Ganz ohne irgendeine Ausgabe habe ich es nicht hinbekommen.

Vielleicht konnte ich ja mal zu Abwechslung auch Dir helfen bzw. ´nen Lösungsansatz zeigen???

Code:
Echo off
cls
chcp 65001 >nul & rem Umlaute anzeigen

:init
  rem erzeuge Escape-Char
for /f %%. in ('"echo prompt $E|cmd"') do set "ESC=%%."

  rem Basis-Sequenzen
  rem setze gib Zeile mit 16 Vordergundfarbe aus:
echo %ESC%[0mHallo Standard
echo %ESC%[32mHallo Vordergrund Grün
echo %ESC%[95mHallo Vordergrund leuchtend Magenta

  rem Kombination verschiedener  Basissequenzen (frei kombinierbar getrennt semikolon)
echo %ESC%[93;104mHallo Vordergrund leuchtend Gelb,Hintergrund leuchtend Blau
echo %ESC%[91;4;49mHallo Vordergrund leuchtend Rot,Unterstrichen,Hintergrund Standard
echo %ESC%[7mFarben negativ,nächste Zeile  wieder Positiv%ESC%[27m
  rem innerhalb der Zeile farben ändern
echo %ESC%[97;44mHallo Vordergrund leuchtend Weiß,Hintergrund blau,%ESC%[95mVordergrund leuchtend Magenta,nächste Zeile komplett Standard%ESC%[0m
echo.
echo Das hat Jürgen eingefügt:
echo.
echo Nur die Taste ESC führt aus dem Programm raus und beendet es. Sonst NIX eyh!!!
echo.
echo Der Powershell.exe muss noch noch gesagt werden : Achte auf Gross und Kleinschreibung...
echo.
echo Die Taste gross W steht für weiter!
echo.
echo Die Taste klein w soll nichts auslösen... oder besser ein anderes Sprungziel nehmen...
echo.
:KeyCode
PowerShell -NoProfile -Command "Write-Host ''-NoNewLine;Exit($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown').VirtualKeyCode)"
echo KeyCode = %ErrorLevel% >nul
if errorlevel 27 if not errorlevel 28 exit
if errorlevel 87 If not errorlevel 88 goto :weiter
rem if errorlevel 74 if not errorlevel 75 goto :init
goto :KeyCode

:weiter
echo Wir haben es geschafft!
echo.
echo Wenn Sie bereit sind, dann
echo.
pause

Ich habe mal die if errorlevel 78 if not errorlevel 79 goto :init ausge remt, (Tolles Wort)
ebenso die Zeile if errorlevel 74 if not errorlevel 75 goto :init ausge remt,
aber selbst wenn man die drin stehen lässt, funktioniert es... Ich hoffe wir beide meinen die selbe "Ausgabe" ?
Man sieht nur noch ´nen blinkenden Cursor und das war bei der keyin.exe nicht anders.
Aber schön zu sehen, dass Du offenbar auch was gelernt hast, Ich meine den errorlevel ansich.
if errorlevel 74 if not errorlevel 75 goto :blablabla ist wirklich viel sicherer und definiert damit auch alles genauer.
Auch wenn´s mehr Aufwand ist...
Safety first!
Nur krich ich doch noch die Krise, MS Powershell mach keinen Unterschied bei groß und-kleinschreibung?
Dann fehlt ja immer noch was! Ach mennno!

Bitte melde Dich und gib wenigstens ein Feedback!🪃
 
Zuletzt bearbeitet:
Bei Deinem Script aus Beitrag #22 habe ich bei diesem Versuch mal nur die kleinen
Änderungen als Vergleich gemacht.
Ich habe mal den ganzen Kram mit ja nein abbrechen in der write-host zeile entfernt.
Hier gibt´s halt nur ein >nul mehr: ist jetzt echo KeyCode = %ErrorLevel% >nul
voher war nur echo KeyCode = %ErrorLevel%
Den Text welcher Tastendruck was auslösen soll den kann man auch mit in den Informations-Textbereich,
wo die Farbspielereien aufhören, mit reinlegen. Beispiel j geht Adresse test1, n geht nach test 2,
ESC macht dann den Abbruch! Das löst aber immer noch nicht das Problem, mit der
Groß und-Kleinschreibung für Powershell sowas korrekt zu unterscheiden und dem entsprechend zu handeln.
Code:
Echo off
cls
chcp 65001 >nul & rem Umlaute anzeigen

:init
  rem erzeuge Escape-Char
for /f %%. in ('"echo prompt $E|cmd"') do set "ESC=%%."

  rem Basis-Sequenzen
  rem setze gib Zeile mit 16 Vordergundfarbe aus:
echo %ESC%[0mHallo Standard
echo %ESC%[32mHallo Vordergrund Grün
echo %ESC%[95mHallo Vordergrund leuchtend Magenta

  rem Kombination verschiedener  Basissequenzen (frei kombinierbar getrennt semikolon)
echo %ESC%[93;104mHallo Vordergrund leuchtend Gelb,Hintergrund leuchtend Blau
echo %ESC%[91;4;49mHallo Vordergrund leuchtend Rot,Unterstrichen,Hintergrund Standard
echo %ESC%[7mFarben negativ,nächste Zeile  wieder Positiv%ESC%[27m
  rem innerhalb der Zeile farben ändern
echo %ESC%[97;44mHallo Vordergrund leuchtend Weiß,Hintergrund blau,%ESC%[95mVordergrund leuchtend Magenta,nächste Zeile komplett Standard%ESC%[0m

:KeyCode
PowerShell -NoProfile -Command "Write-Host ''-NoNewLine;Exit($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown').VirtualKeyCode)"
echo KeyCode = %ErrorLevel% >nul
if errorlevel 27 if not errorlevel 28 exit
if errorlevel 78 if not errorlevel 79 goto :init
if errorlevel 74 if not errorlevel 75 goto :init
goto :KeyCode
 
Zuletzt bearbeitet:
Bitte melde Dich und gib wenigstens ein Feedback!🪃
Mit PowerShell kommen wir da nicht weiter, da wirklich nicht zwischen Groß- und Kleinschreibung unterscheiden wird, siehe dazu auch wie folgt:

Führe bitte die angefügte REG-Datei aus und melde dich kurz ab und wieder an. Benutze dann das Script mit keyin.exe alias reply.exe:

BasisFormatierung_cmd.png (Zum Vergrößern anklicken)

Code:
@Echo off
title BasisFormatierung - Test mit keyin.exe
chcp 65001 >nul & rem Umlaute anzeigen
cd /d "%~dp0"

:init
  rem erzeuge Escape-Char
for /f %%. in ('"echo prompt $E|cmd"') do set "ESC=%%."

  rem Basis-Sequenzen
  rem setze gib Zeile mit 16 Vordergundfarbe aus:
echo %ESC%[0mHallo Standard
echo %ESC%[32mHallo Vordergrund Grün
echo %ESC%[95mHallo Vordergrund leuchtend Magenta

  rem Kombination verschiedener  Basissequenzen (frei kombinierbar getrennt semikolon)
echo %ESC%[93;104mHallo Vordergrund leuchtend Gelb,Hintergrund leuchtend Blau
echo %ESC%[91;4;49mHallo Vordergrund leuchtend Rot,Unterstrichen,Hintergrund Standard
echo %ESC%[7mFarben negativ,nächste Zeile  wieder Positiv%ESC%[27m
  rem innerhalb der Zeile farben ändern
echo %ESC%[97;44mHallo Vordergrund leuchtend Weiß,Hintergrund blau,%ESC%[95mVordergrund leuchtend Magenta,nächste Zeile komplett Standard%ESC%[0m
echo.
echo Die Taste gross W steht für weiter! Die Taste klein w soll nichts auslösen ...
echo.

:keyin
keyin
if %errorlevel% equ 27 exit
if %errorlevel% equ 87 goto :weiter
goto :keyin

:weiter
echo Wir haben es geschafft!
echo.
echo Wenn Sie bereit sind, dann
echo.
pause

Begründung:

Um das Ganze mal in PowerShell zu testen, fand ich folgende Diskussion:

BasisFormatierung.png
(Zum Vergrößern anklicken)

Code:
$Host.UI.RawUI.WindowTitle = 'BasisFormatierung'
# Clear-Host

  # erzeuge Escape-Char
$esc = [char]27

  # Basis-Sequenzen
  # setze gib Zeile mit 16 Vordergundfarbe aus:
$a = @"
$esc[0mHallo Standard
$esc[32mHallo Vordergrund Grün$esc[0m
$esc[95mHallo Vordergrund leuchtend Magenta$esc[0m
"@
  # Kombination verschiedener  Basissequenzen (frei kombinierbar getrennt semikolon)
$b = @"
$esc[93;104mHallo Vordergrund leuchtend Gelb, Hintergrund leuchtend Blau
$esc[91;4;49mHallo Vordergrund leuchtend Rot, Unterstrichen, Hintergrund Standard
$esc[7mFarben negativ, nächste Zeile wieder Positiv$esc[27m
"@
  # innerhalb der Zeile farben ändern
$c = @"
$esc[97;44mHallo Vordergrund leuchtend Weiß, Hintergrund Blau, $esc[95mVordergrund leuchtend Magenta, nächste Zeile komplett Standard$esc[0m
"@

$init = @"
$a
$b
$c
"@

$init
Write-Host 'Zum Beenden drücken Sie eine beliebige Taste . . . '-NoNewLine;[void]$Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');Write-Host

Als ich zwischenzeitlich noch einmal mit choice.exe und keyin.exe alias reply.exe testete, stellte ich diesen Nebeneffekt fest und bin der Meinung, dass dies dich sehr freuen wird.
 

Anhänge

  • VirtualTerminalLevel.reg
    222 Bytes · Aufrufe: 13
Zuletzt bearbeitet:
Sorry, dass ich mich jetzt erst melde, aber mein MW zickt wieder rum...
Aus Beitrag #27 sei erwähnt...
Das hast Du aber auch nicht mal eben in zwei Minuten auf den Bildschirm gezaubert oder???
Nee klasse sieht cool aus und

Du weisst Doch:
Wenn morgen auf dieser Welt nichts mehr geht,
dann hat bestimmt der Jürgen Klein mit dran gedreht!;););)

Mit dem VirtualTerminalLevel werde ich mal probieren!
Wo hast Du das denn her?
Ah I see ..... habs gefunden im Netz der Netze ANSI und ESC Farb-CODIERUNG
 
Zuletzt bearbeitet:
Das hast Du aber auch nicht mal eben in zwei Minuten auf den Bildschirm gezaubert oder???
Doch, schaue dir dazu mal diese Website hier Text to ASCII Art Generator (TAAG) an, war selber erstaunt, dass es so etwas gibt. Das Script dazu sieht wie folgt aus:

Code:
  # erzeuge Escape-Char
  # ab PowerShell 6 kann man das weglassen
  # der Befehl würde dann Write-Output "`e[5;92m$asciiArt`e[0m"; lauten
$esc = [char]27
$asciiArt = @"
Hier den Text einfügen.
"@
Write-Output "$esc[5;92m$asciiArt$esc[0m";
<# ab PowerShell 6 dann wie folgt:
$asciiArt = @"
Hier den Text einfügen.
"@
Write-Output "`e[5;92m$asciiArt`e[0m"; #>
Write-Host
Write-Host 'Zum Beenden drücken Sie eine beliebige Taste . . . '-NoNewLine;[void]$Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');Write-Host
 
Wie heisst das auf Kriewelsch Platt (so oder so ähnlich)
"Man kann ooch alles überdriewe" übertreiben...

Na gut
Ich werde das Thema trotzdem noch mal offen lassen.
Aber eigentlich ist es gelöst>>> der VirtualTerminalLevel hat da echt weiter geholfen.
Zwar bin ich der Registry-Fummler, aber das heisst noch lange nicht, dass ich jeden einzelnen
Registry-Eintrag kenne und ich nehme mal an: Das kann Keiner!!!
 
Wie heisst das auf Kriewelsch Platt (so oder so ähnlich)
"Man kann ooch alles überdriewe" übertreiben...
Genau und deshalb muss ich noch zu Beitrag #29 etwas nachtragen, den dort muss es im Script asciiArt.ps1 anstatt:
Code:
  # erzeuge Escape-Char
  # ab PowerShell 6 kann man das weglassen
  # der Befehl würde dann Write-Output "`e[5;92m$asciiArt`e[0m"; lauten
wie folgt lauten:
Code:
  # erzeuge Escape-Char
  # ab PowerShell 6:
  # $([char]27)
  # der Befehl würde dann Write-Output "`e[5;92m$asciiArt`e[0m"; lauten

Selbstverständlich funktioniert das auch mit einem Batch-Script wie folgt:

Code:
@echo off
  rem erzeuge Escape-Char
for /f %%. in ('"echo prompt $E|cmd"') do set "ESC=%%."
echo.
echo %ESC%[5;92m
echo            .___         __   .__         .__       .__      .___                                         
echo   ____   __^| _/__  __  ^|  ^| _^|  ^|   ____ ^|__^| ____ ^|__^|   __^| _/___________                               
echo _/ __ \ / __ ^|\  \/ /  ^|  ^|/ /  ^| _/ __ \^|  ^|/    \^|  ^|  / __ ^|/ __ \_  __ \                             
echo \  ___// /_/ ^| \   /   ^|    ^<^|  ^|_\  ___/^|  ^|   ^|  \  ^| / /_/ \  ___/^|  ^| \/                             
echo  \___  ^>____ ^|  \_/ /\ ^|__^|_ \____/\___  ^>__^|___^|  /__^| \____ ^|\___  ^>__^|                                 
echo      \/     \/      \/      \/         \/        \/          \/    \/                                     
echo  __      __.__       ____ ____  __________              .__          __                                   
echo /  \    /  \__^| ____/_   /_   ^| \______   \ ____   ____ ^|__^| _______/  ^|________ ___.__.                 
echo \   \/\/   /  ^|/    \^|   ^|^|   ^|  ^|       _// __ \ / ___\^|  ^|/  ___/\   __\_  __ ^<   ^|  ^|  ______         
echo  \        /^|  ^|   ^|  \   ^|^|   ^|  ^|    ^|   \  ___// /_/  ^>  ^|\___ \  ^|  ^|  ^|  ^| \/\___  ^| /_____/         
echo   \__/\  / ^|__^|___^|  /___^|^|___^|  ^|____^|_  /\___  ^>___  /^|__/____  ^> ^|__^|  ^|__^|   / ____^|                 
echo        \/          \/                   \/     \/_____/         \/               \/                       
echo ___________                    .__                                   .___               .__               
echo \_   _____/_ __  _____   _____ ^|  ^|   ___________   __ __  ____    __^| _/   ______ ____ ^|__^| ____   ____ 
echo  ^|    __)^|  ^|  \/     \ /     \^|  ^| _/ __ \_  __ \ ^|  ^|  \/    \  / __ ^|   /  ___// __ \^|  ^|/    \_/ __ \
echo  ^|     \ ^|  ^|  /  Y Y  \  Y Y  \  ^|_\  ___/^|  ^| \/ ^|  ^|  /   ^|  \/ /_/ ^|   \___ \\  ___/^|  ^|   ^|  \  ___/
echo  \___  / ^|____/^|__^|_^|  /__^|_^|  /____/\___  ^>__^|    ^|____/^|___^|  /\____ ^|  /____  ^>\___  ^>__^|___^|  /\___  ^>
echo      \/              \/      \/          \/                   \/      \/       \/     \/        \/     \/
echo   _________      .__       .__                       .__                                                 
echo  /   _____/_____ ^|__^| ____ ^|  ^|   ___________   ____ ^|__^| ____   ____                                     
echo  \_____  \\____ \^|  ^|/ __ \^|  ^| _/ __ \_  __ \_/ __ \^|  ^|/ __ \ /    \                                   
echo  /        \  ^|_^> ^>  \  ___/^|  ^|_\  ___/^|  ^| \/\  ___/^|  \  ___/^|   ^|  \                                   
echo /_______  /   __/^|__^|\___  ^>____/\___  ^>__^|    \___  ^>__^|\___  ^>___^|  / /\                               
echo         \/^|__^|           \/          \/            \/        \/     \/  \/                               
echo.
echo %ESC%[0m
pause

Wichtig dabei ist:

Um nach den ECHO-Befehlen die Zeichen Kleiner und Größer als < > sowie den senkrechten Strich | verwenden zu können, muss jeweils das Zeichen Zirkumflex ^ davor gesetzt werden.
 
Anzeige
Oben