
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 debug
eine kurze COM-Datei schreiben. Beim Ausführen debug
erhalten Sie eine Eingabeaufforderung mit einem Bindestrich. Geben Sie Folgendes ein (einschließlich Leerzeilen), und Sie erhalten eine Datei color.com
in 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 screen
Befehl 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)