Beliebt

Gibt es eine M├Âglichkeit, Powershell dazu zu bringen, die Eingabeaufforderung cmd zu erben - windows-7, windows, powershell, cmd.exe

In der cmd-Shell ist es m├Âglich, (undspeichern) die Eingabeaufforderung mit dem Befehl PROMPT et al. Wenn Sie jedoch von cmd aus zu Powershell wechseln, wird die Standard-Windows-Eingabeaufforderung wiederhergestellt - normalerweise das aktuelle Verzeichnis.

Gibt es eine M├Âglichkeit, Powershell zu zwingen, die aktuelle Windows-Eingabeaufforderung zu verwenden?

Antworten:

0 f├╝r Antwort Ôäľ 1

Habe dies funktioniert dank der sehr n├╝tzlichen Kommentare. Nur f├╝r den Fall, dass jemand anderes dasselbe Problem hat:

$profile

Gibt den Ort an, an dem sich das Powershell-Profil befindet (oder befinden w├╝rde). Wenn es nicht "t existiert, w├╝rde der folgende Befehl es erstellen:

new-item -itemtype file -path $profile -force

Hier k├Ânnen wir einfach eine Eingabeaufforderungsfunktion schreiben. Ich setze meine generell auf den aktuellen Benutzer:

function prompt {"PS: $(echo "RobbieDee")>"}

0 f├╝r Antwort Ôäľ 2

Prompt wird global gesetzt ├╝ber %UserProfile%DocumentsWindowsPowerShellprofile.ps1

  • ohne Farbe:

    Function set-prompt {
    "$ESC[$($executionContext.SessionState.Path.CurrentLocation)$("$" * ($nestedPromptLevel + 1)) $ESC[0m"
    }
    
  • w / farbe:

    switch ($Action) {
    
    "Default" {
    Function global:prompt {
    if (test-path variable:/PSDebugContext) { "[DBG]: " }
    write-host " "
    write-host ("$ESC[48;2;40;40;40m$ESC[38;2;170;210;0m$(Get-Location) $ESC[0m $ESC[0m")
    
    if ( $host.UI.RawUI.WindowTitle -match "Administrator" ) {
    $Host.UI.RawUI.ForegroundColor = "Red"
    $(if ($nestedpromptlevel -ge 1) {
    write-host ("PS $$ ") -ForegroundColor Red -NoNewLine
    } else {
    write-host ("PS $ ") -ForegroundColor Red -NoNewLine
    })
    } else {
    $(if ($nestedpromptlevel -ge 1) {
    write-host ("PS $$ ") -ForegroundColor Blue -NoNewLine
    } else {
    write-host ("PS $ ") -ForegroundColor Blue -NoNewLine
    })
    }
    
    return " "
    }
    }
    }
    
    set-prompt Default
    
    • Zeigen Sie eine farbige Eingabeaufforderung f├╝r den Benutzer und eine rote Eingabeaufforderung f├╝r einen Administrator an
    • Erm├Âglicht das direkte Wechseln von Profilen:
      • Kopieren Einf├╝gen Default Abschnitt unter sich und bearbeiten Sie entsprechend (inkl. Name, d. h. Default). Sitzung neu laden und ├╝ber wechseln set-prompt Default || set-prompt <name>