Wie kann man die Schriftfarbe der MS-DOS-Eingabeaufforderung ändern?

Wie kann man die Schriftfarbe der MS-DOS-Eingabeaufforderung ändern?

Wie kann man die Schriftfarbe der MS-DOS-Eingabeaufforderung ändern?

MS-DOS ist wirklich alt und für den Großvater aller Computer ist es sehr schwierig, Support dafür zu finden.

Ich habe diese Vorschläge von Websites ausprobiert:
http://www.easydos.com/menucolor.html
https://support.microsoft.com/en-us/kb/95099
http://www.computerhope.com/color.htm

Ich habe Folgendes bearbeitet: Config.sys (dort steht jetzt „Menucolor= 2,0“) C:\Windows\color.txt (dort steht jetzt „grün“)

Funktioniert immer noch nicht.
Hat jemand eine Idee, wie das geht?

Anmerkungen

Bevor Sie „color a“ vorschlagen: MS-DOS ist nicht die Befehlstaste. Das habe ich bereits versucht.
Es ist möglich! Es gibt mehrere MS-DOS-Viren, die dies erfolgreich getan haben.
Ich verwende MS-DOS von Windows 98 auf einer virtuellen Maschine.

Antwort1

Sie können debugeine kurze COM-Datei schreiben. Beim Ausführen debugerhalten Sie eine Eingabeaufforderung mit einem Bindestrich. Geben Sie Folgendes ein (einschließlich Leerzeilen), und Sie erhalten eine Datei color.comin Ihrem aktuellen Arbeitsverzeichnis:

a 100
mov ah, 06
xor al, al
xor cx, cx
mov dx, 184f
mov bh, 07
int 10
mov ah, 4c
xor al, al
int 21

rcx
e
ncolor.com
w
q

Es ruft auf int 10 ah=06, um den Bildschirm zu löschen, den Cursor an den unteren Rand zu setzen und mit Attributen in zu füllen bh. Das obere Nibble ist der Hintergrund, das untere ist der Vordergrund, die Farben sind:

  • 0 = schwarz
  • 1 = blau
  • 2 = grün
  • 3 = Cyan
  • 4 = rot
  • 5 = lila
  • 6 = gelb
  • 7 = weiß
  • 8 = hellschwarz
  • 9 = hellblau
  • A = hellgrün
  • B = Hellcyan
  • C = hellrot
  • D = Hellviolett
  • E = hellgelb
  • F = hellweiß

(Daher hat Bit 4 eine hohe Intensität.) Um einen roten Hintergrund mit schwarzem Vordergrund zu erhalten, ändern Sie 07 in 40.

Das Parsen der Befehlszeilenargumente zum Festlegen von Farben ist nicht trivial. Codieren Sie also einfach Ihr bevorzugtes Argument fest. Oder tun Sie dies im Debug, um es zu aktualisieren:

debug color.com
e 10a
40
w
q

Das Attribut wird am Speicherort 010A gespeichert. Es ist einfacher, es direkt zu aktualisieren, als alles erneut einzugeben.

Antwort2

Dies ist ohne Qbasic nicht möglich. Wir führen ein kleines Programm aus, das die Bildschirmfarben für die Eingabeaufforderung ändert.

Der screenBefehl qbasic wird sehr nützlich sein.

Führen Sie dieses QBASIc-Programm aus:

 SCREEN 0
 COLOR 26

Hinweis: Sie können nur Ziffern von 0-7 verwenden

Antwort3

Wenn Sie ANSI.SYS laden, definieren Sie die DOS-Eingabeaufforderung (zum Beispiel):

c:>Eingabeaufforderung $e[1;33m$p$g

Sie können die Eingabeaufforderungsfarbe und die Eingabeaufforderung selbst ändern.

Ändert die Eingabeaufforderung cmd.exe.

PROMPT [text]

  text    Specifies a new command prompt.

Prompt can be made up of normal characters and the following special codes:

  $A   & (Ampersand)
  $B   | (pipe)
  $C   ( (Left parenthesis)
  $D   Current date
  $E   Escape code (ASCII code 27)
  $F   ) (Right parenthesis)
  $G   > (greater-than sign)
  $H   Backspace (erases previous character)
  $L   < (less-than sign)
  $N   Current drive
  $P   Current drive and path
  $Q   = (equal sign)
  $S     (space)
  $T   Current time
  $V   Windows version number
  $_   Carriage return and linefeed
  $$   $ (dollar sign)

verwandte Informationen