Batch Ladebalken erstellen?
Ich will in einer Batch-Datei einen Ladebalken erstellen (nicht mit Zahlen oder Zeichen wie *). Ich habe gesehen, dass wenn man ² in das Script eingibt ein passendes Zeichen kommt. Leider ist das aber in einer alten Windows Version und in Windows 10 funktioniert dies nicht mehr. Meine Frage wäre nun ob man überhaupt noch so ein Zeichen in Batch machen kann.
2 Antworten
Ich Hoffe mal das Die Codierung hier nicht flöten geht. Mann könnte die entsprechenden Zeichen auch mit einem kleinen JavaScript erzeugen, aber ich habe heute keine Lust mehre herumzubasteln...
Am einfachst gibt man ASCIIcodes mit ALT+Codenummer (im Ziffernblock) ein.
Eine Gute CodeTabelle findest Du hier:https://theasciicode.com.ar/extended-ascii-code/letter-i-circumflex-accent-ascii-code-215.html
Von dort kannst Du Die Zeichen Auch einfach per copy&paste übernehmen.
Wichtig Wäre noch die Codepage 65001 zusetzen, dies gewärleistet, das alle in Europa und Lateinländern verwendeten Zeichen dargestellt werden. (Win10 Standardschrift Consolas oder Lusinda Console)
demo. cmd
@echo off
chcp 65001 >nul & rem UniCode darstellen
rem erzeuge BackspaceCharakter
for /f "delims=;" %%. in ('"prompt $H; & for %%. in (nul) do call"') do (set "bkspc=%%.")
rem die Einfachste Methode um ein Zeichen in die Batch zu schreben ist Alt+ASCIIcode (Ziffernblock) oder Copy&paste
set "ASCII176=░"
set "ASCII177=▒"
set "ASCII178=▓"
set "ASCII219=█"
set "ASCII220=▄"
set "ASCII223=▀"
for %%a in (%ASCII176% %ASCII177% %ASCII178% %ASCII219% %ASCII220% %ASCII223%) do (
for /l %%b in (1,1,10) do (
rem Trick schreiben in die gleiche Zeile
<nul set /p "=%%a"||ver>nul
timeout 1 >nul
)
rem neue Zeile
echo:
echo:
)
rem verwendung des BackspaceCharakter
rem "<nul set /p =" ignoriert führende Leerzeichen, darum schreiben wir ein Zeichen (hier Punkt) und löschen dieses mit einem Backspace
<nul set /p "=.%bkspc% Ich bin ein Text mit Leerzeichen vorne dran"||ver>nul
timeout 2 >nul
rem rückwärz Löschen
for /l %%b in (1,1,39) do (
<nul set /p "=%bkspc%"||ver>nul
timeout 1 >nul
)
echo blubbb
pause
getestet... einfach in Editor einfügen... und speichern (UTF-8 ohne BOM) ... klappt
...dann hast Du früher wohl einfach Glück gehabt, das die damalige Batch mit der richtigen Codierung gespeichert wurde. Ich habe ganz andere Erfahrungen mit der Darstellung von Zeichen in der Vergangenheit... das mit 65001 funktioniert erst seit Win 10 reibungslos.
Was genau du meinst weiß ich nicht, es gibt aber im Unicode bestimmte Zeichen wie Batterien (https://www.compart.com/de/unicode/U+1F50B), die man dafür verwenden könnte. Hast du vllt ein Bild von dem Zeichen, das du meinst?
Das ist ein Link zu einem Screenshot: https://docs.google.com/document/d/1gbjQldVQKBUjxi2fLcKNBWoPIT4Nps2_UJ_XyvSe0f0/edit?usp=sharing
Huch, okay - das sieht wirklich interessant aus... Es gibt hier (https://www.compart.com/de/unicode/block/U+2580) so etwas ähnliches, genau das Zeichen habe ich aber nicht gefunden :>
Danke, es muss nur am Anfang eingestellt werden, dass auch Zeichen von Unicode angezeigt werden können.
Danke ich habe herausgefunden wie das geht. Man muss einfach nur am Anfang, wie du es gemacht hast, chcp 65001 setzen und dann wird einem ² so angezeigt wie es früher war.