Wie mache ich eine bestimmte Zeile einer batch-Datei eine andere Farbe als die anderen?

Ich arbeite an einem Programm, das generiert die Tag das Wetter für D&D Spiele. Ich möchte das Programm zum anzeigen einer Warnung in Roter Schrift, wenn ein Sturm erzeugt, so dass die DM ist bewusst, dass das Wetter ist nicht typisch. Reduzieren Sie die Anzahl der Tastenanschläge, es muss dazu auf dem gleichen Bildschirm wie der text, Detaillierung der Wetter selbst.

Derzeit für ein Sturm den Eintrag habe ich dieses:

:des4a
cls
type c:\AutoDM\WeatherGen\data\forcast1.txt
color 0c
echo     There is an Ashstorm!
color 0a
echo.
echo     It is %temp% degrees and the sky is invisible threw the thick 
echo     billowing clouds of ash.
echo.
echo         # Survival checks to light a fire are at +15. 
echo         # Small unprotected flames will be snuffed out.
echo         # Non-firearm ranged attacks are at a -8 to hit.
echo         # Preception checks take a -10 for every 10 feet of distance.
echo         # Survival checks to get along in the wild are at +15.
echo         # Stealth checks are at a +5.
echo.
echo     SPECIAL!
echo.
set /a die=6
set /a inches=%random%%%die+1
echo         # The ashstorm will deposit %inches% inches of ash durring its
echo           durration.
echo         # Tracking a target after an ashstorm is at a +15.
type c:\AutoDM\WeatherGen\data\forcast2.txt
echo.
echo.
pause
goto menu

Den Typ-Befehle aufrufen-text-Dokumente enthalten eine Kopfzeile und eine Fußzeile für jeden Eintrag, um zu helfen, das Programm Professionell Aussehen und bieten einen Rahmen, um mit Hilfe von word-wrap. Dein können nicht entfernt werden. Nicht vorschlagen, etwas, das würde mir nicht die Befehle eingeben, wie Sie derzeit existieren, bitte. Bitte haben Sie Verständnis, dass dieser rote text-Zeile Hinzugefügt werden, um eine Menge von verschiedenen teilen des Programms, jedes mal gibt es ein Sturm für jeden und jedes BIOMS im generator. Ich würde es vorziehen, es nicht zu sein, mehr als nur 2 oder 3 Zeilen code (Aber wenn es nur einen Weg, um es gut zu machen...)

Kann ich die eine Zeile in rot und der rest in grün? Oder soll ich das Programm auf den Signalton, um auf die Tatsache aufmerksam machen? Sie haben eine bessere und einfachere Idee? Wie mache ich das?

  • möglich, Duplikat der stackoverflow.com/questions/2586012/...
  • Nein. Das ist für mehr als eine Farbe in der gleichen Zeile. Ich brauche eine Linie auf dem Bildschirm in einer Farbe, und die anderen eine andere Farbe. Die Antwort Dosis nicht erklären, wie die Umsetzung der code sehr gut äther. Ist all das legte jedes mal, wenn Sie müssen, verwenden Sie mehr als eine Farbe? Ist es gesetzt, einmal zu Beginn verwenden Sie dann den Befehl Wörter? Nicht nur erklärt gut genug für mich.
  • Es kann nicht getan werden, mit einfachen standard-batch-Befehle. Einer der beteiligten Skript drucken kann die Farbe in einer einzigen Zeile, oder eine Dritte Partei Werkzeug kann es tun. Microsoft color Befehle ändern nur den gesamten Bildschirm.
  • Ich bin die Programmierung dieses etwas werde ich versuchen zu verkaufen. Es muss auf jedem PC. Könnten Sie einen link zu einer tutorial zu machen, so ein script?
  • Ähmm, nur weil eine Lösung, die es erlaubt, mehrere Farben in einer Zeile, bedeutet nicht, müssen Sie mehrere Farben. Die verlinkte Lösung auch erläutert, wie ECHO( beenden Sie die Zeile in der Vorbereitung für die nächste.
  • Eine andere Frage mit Antworten, die im Grunde das gleiche: stackoverflow.com/q/4339649/1012053
  • Ah Ihr in das code-segment selbst. Das ist ein bisschen verwirrend. Dank dude.
  • Ändern threw zu through und durration zu duration.
  • Anscheinend sind Sie das überschreiben der system-Variablen temp ohne auch realsing es. Stellen Sie sicher, dass Sie mit setlocal am Anfang Ihres Skripts oder noch besser, verwenden Sie einen anderen Variablennamen.
  • Möglich, Duplikat der Wie haben Sie mehrere Farben in einem Windows-batch-Datei?

InformationsquelleAutor Sean McLain | 2014-02-09
Schreibe einen Kommentar