none
batch color-befehl in powershell RRS feed

  • Frage

  • Hallo

    mittlerweile schreibe ich die meisten neuen Scripte in Powershell. Das funktioniert recht gut.

    Laut Konvention hier muss im Fehlerfall ein rotes Fenster mit einer sprechenden Meldung stehen bleiben.

    Das geht unter DOS/Batch recht einfach per color-befehl. Genau das brauche ich auch in Powershell.

    Ich brauche nicht den Hintergrund in einer Zeile oder ab einer Zeile sondern die 1:1 Umsetzung des color-Befehls.

    Ich habe schon versucht:

    $Host.PrivateData.ConsolePaneForegroundColor = "DarkCyan"
    $Host.PrivateData.ConsolePaneBackgroundColor= $bckgrnd
    $Host.PrivateData.ConsolePaneTextBackgroundColor= "Yellow"
    

    oder 

    function color ($bc,$fc) {
    $a = (Get-Host).UI.RawUI
    $a.BackgroundColor = $bc
    $a.ForegroundColor = $fc ; cls}

    ebenso hab ich versucht cmd color 07 aber nichts geht.

    Wie kann ich ein vollständig rotes Fenster mit schwarzem Text erreichen?

    Dienstag, 29. November 2016 08:25

Antworten

  • Also ich sehe da keinen Unterschied. :-)

    Wenn es bei dir warum auch immer nicht geht kannst du auch den color Befehl in einem PowerShell Fenster nutzen, habe ich gerade  auf diversten Systemen getest.

    cmd /c color c0

    Beste Gruesse
    brima


    Dienstag, 29. November 2016 09:19

Alle Antworten

  • Hi,

    hier mal ein primitives Script, vielleicht reicht es ja für deine Aufgabe schon.

    $Host.UI.RawUI.BackgroundColor = 'Red'
    $Host.UI.RawUI.foregroundColor = 'Black'
    Clear-Host
    Write-Host 'Achtung: Hier kommt eine Fehlermeldung!' 

    Beste Gruesse
    brima

    Dienstag, 29. November 2016 08:43
  • Hall brima

    mit diesem Script bleibt der Bildschirm blau und der neue Text erscheint schwarz auf rot.

    IMHO kann ich das auch mit Write-Host -BackgroundColor Red -ForegroundColor Black  'Achtung: Hier kommt eine Fehlermeldung!' erreichen.

    Mach mal bitte ein cmd-Fenster auf und gib color c0 ein - du wirst den Unterschied sehen. Und das was ich meine

    Dienstag, 29. November 2016 08:59
  • Dienstag, 29. November 2016 09:18
  • Also ich sehe da keinen Unterschied. :-)

    Wenn es bei dir warum auch immer nicht geht kannst du auch den color Befehl in einem PowerShell Fenster nutzen, habe ich gerade  auf diversten Systemen getest.

    cmd /c color c0

    Beste Gruesse
    brima


    Dienstag, 29. November 2016 09:19
  • Also ich sehe da keinen Unterschied. :-)

    aargh :-(

    Ich habs immer im ISE aufgerufen...

    Da hab ich keinen unterschied gesehen. Aus einem abgespeicherten Script funktioniert auch die Funktion die ich oben gepostet habe.

    AUA

    Dienstag, 29. November 2016 09:49
  • Hallo,

    ja die ISE verält sich da anders. Und wie gesagt es geht auch in der Konsole mit dem dir bekannten Color Befehl direkt auf dem Weg.

    cmd /c color c0

    Beste Gruesse
    brima 

    Dienstag, 29. November 2016 09:53