Dieser Code:Wie funktioniert °, ± & ² in dieser Stapeldatei ░, ▒ & produce?
@echo off
set /p a=Installing [<nul
set b=1
:loop
if %b% leq 2 set /p a=°<nul
if %b% gtr 4 if %b% leq 6 set /p a=±<nul
if %b% gtr 6 if %b% leq 8 set /p a=²<nul
if %b% gtr 8 if %b% leq 10 set /p a=±<nul
if %b% gtr 10 set /p a=°<nul
choice /t 1 /c y /d y>nul
set /a b=%b%+1
if %b%==13 (echo ]&goto :eof)
goto :loop
... kam aus http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_1237-DOS-ECHO-text-to-previous-line-by-Paul-Tomasi.html#c18182 und erzeugt die folgenden Ausgabe in einem cmd-Fenster:
Installing [░░▒▒▓▓▒▒░░]
aber ich kann eine Erklärung über Google, wie diese scheinen zu finden, funktioniert. Das Ersetzen anderer erweiterter ASCII-Zeichen an ihrer Stelle scheint "Die Syntax des Befehls ist inkorrekt" zu sein, so konnte nur erraten werden, dass dies ein Hack ist, bei dem etwas gegen unbeabsichtigte Zeichen in der erweiterten ASCII-Gruppe ausgetauscht wird -von-dem-Designer-Trick.
Wenn jemand auch eine gute Website vorschlagen könnte, um mehr über die Funktionen von cmd/cmd-Programmen zu erfahren, wäre es sehr hilfreich.
Konnte ti wegen [der Schriftart sein, die cmd benutzt?] (Http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using) – acattle
Nicht wirklich ein Antwort, aber immer noch interessant: Versuchen Sie, 'type' in Ihrer Batch-Datei von der Kommandozeile aus auszuführen, wie in' type mybatchfile.bat'. Mein Texteditor zeigt '±' und den ganzen Rest, aber der 'type' Befehl zeigt' ░' und den Rest. Wenn Sie ''' in die Batch-Datei eingeben, geben Sie als' ª' aus. Der Befehlszeileneditor 'edit' zeigt auch die Befehlszeilenzeichen, nicht die Windows-Zeichen. Vielleicht eine Font-Sache, wie Acatts Link andeutet. – user1201210
@acattle - Ich habe die drei Schriftarten ausprobiert, die mir in cmd zur Verfügung standen (Raster-Fonts, die die oben genannten Ergebnisse waren; jetzt auch Consolas & Lucida Console); Consolas hatte ein Leerzeichen für °, und sowohl es als auch Lucida Console produziert den Befehl ist ein falscher Fehler für die zweite ± (ungewöhnlich). Gegeben ist es cmd und kein Textverarbeitungsprogramm (zum Beispiel) würde bezweifeln, dass es im Zeichensatz für jede Schriftart unterschiedliche Zeichen geben würde, nur ein unterschiedliches Aussehen derselben Zeichenzeichenzeichen. – user66001