2016-07-25 12 views
0
Function Test{ 
    while($true){ 
    write-host "I want this to refresh every time" 
    Start-Sleep -Seconds 4 
    cls 
    } 
} 
Write-Host "I want this to be at the screen always" 
Test 

Gibt es einen Weg für mich, dies zu tun, außer es auch innerhalb der Schleife oder Funktion zu setzen? Im tatsächlichen Code möchte ich eine Ausgabe am oberen Rand des Bildschirms als Referenz behalten (sie kann nicht in die Funktion eingefügt werden), während die Funktion einige Daten holt und alle 4 Sekunden aktualisiert. Hier seit ich cls verwende löscht es alles auf dem Bildschirm, die ich nicht passieren will. Ich muss nur die Ausgabe von der Funktion löschen.So löschen Sie nur bestimmte Inhalte vom Bildschirm?

+0

Sie könnten [diese] (http://powershell-tips.blogspot.com/2011/05/moving-cursor-to-specific-location.html) Art von Ansatz zu übernehmen in der Lage und Bewegung der Cursor herum. –

Antwort

1

Wäre ein Fortschrittsbalken geeignet? Der tatsächliche Prozentsatz kann nicht relevant sein, weil die Schleife im Beispiel unendlich ist, aber es verhält sich ähnlich zu dem, was Sie beschreiben:

Function Test{ 
    while ($true) { 
     Write-Progress -Activity "I want this to be at the screen always" -Status "I want this to refresh every time" 
     Start-Sleep -Seconds 4 
    } 
} 
Write-Progress -Activity "I want this to be at the screen always" 
Test 
+0

Hallo ich denke das passt nicht zu meiner Anforderung. Ich habe eine Reihe von Ausgabebefehlen außerhalb der Funktion. Einige von 'write-host' und eine Menge von anderen Funktionen – tuxebin

0

Wenn Write-Progress nicht geeignet ist dann eine Funktion globale Variablen für Sie arbeiten :

Function Clear-HostCustom ($DisplayText) 
{ 
    If ($DisplayText) 
    { 
     $global:DisplayTextGlobal = $DisplayText 
    } 
    Clear-Host 
    Write-Host $global:DisplayTextGlobal 
} 
Function Test{ 
    while($true){ 
    write-host "I want this to refresh every time" 
    Start-Sleep -Seconds 4 
    Clear-HostCustom 
    Start-Sleep -Seconds 1 
    } 
} 
Clear-HostCustom "I want this to be at the screen always" 
Test 
Verwandte Themen