Frage von Halloeschen183, 22

Batchdatei Echo Fehler -|/ geht nicht?

Hii, ich wollte in meine Batchdatei gerade so eine Schrift einfügen: http://prntscr.com/b4uq0o mit dem Befehl "echo" vor allen Zeilen | doch das geht irgendwie nicht - da steht, dass Zeichen wie "/, -, |, \" nicht ausgelesen werden können.

Ist da noch irgendeine Möglichkeit, das doch einfügen?

Antwort
von PWolff, 9

Das Escape-Zeichen der Windows-Batch ist das Caret ^.

Probier's mit

echo ^/ ^|_^\

und ähnlich.

Kommentar von Halloeschen183 ,

so würde es sogar gehen, aber wie macht man das z.B da? also wo die ^ Setzen, dass die Formatierung nicht weg ist

 ____  _     _           _____ ____  ____  
| _ \| |__ (_)_ __ __|_ _| _ \| __ )
| |_) | '_ \| | '_ \ / _ \| | | |_) | _ \
| _ <| | | | | | | | (_) | | | _ <| |_) |
|_| \_\_| |_|_|_| |_|\___/|_| |_| \_\____/
Kommentar von Tschoo ,

Hallo!

Habe dir schonmal gesagt, ein bißchen denken (und oft auch probieren) ist nicht fehl am Platz

echo "^/^|  ^\              ^\   ^|" 

und was du noch willst

Kommentar von PWolff ,

Sieht im Quellcode blöd aus, ich weiß.

Alternativen:

- den Text in einer eigenen Datei mitliefern und per FOR zeilenweise auslesen, in eine Variable zeile setzen, per mehrerer SET zeile=%zeile:^z=^^^z% in den maskierten Text umsetzen und ausgeben (wobei z der Reihe nach für jedes auf der Kommandozeile ungültige Zeichen steht)

- obiges Verfahren per einem SET per Zeile und einem CALL realisieren

- vor jedes einzelne Zeichen im Ausgabestring ein Caret (^) setzen - macht den Quelltext knapp doppelt so breit, aber was hinterher untereinander steht, steht auch vorher untereinander

Kommentar von maximilianus7 ,

würde ein type auf die datei nicht ausreichen?

Kommentar von PWolff ,

Stimmt, auf einfache Lösungen kommt man oft nicht - Betriebsblindheit

Keine passende Antwort gefunden?

Fragen Sie die Community