Powershell komplizierte frage?

2 Antworten

Ich weiß nicht, ob ich deine Frage richtig verstehe, aber das Programm wird einfach sequenziell abgearbeitet, das heißt, alles was nach dem Teil mit der Progressbar kommt, wird auch erst danach ausgeführt. Und das heißt wiederum: Du kannst Write-Host einfach unter die schließende Klammer vom ForEach-Object machen.

Ich habs mal beispielhaft als Funktion definiert. Du kannst sie z.B. mit test(5) aufrufen.

function test($hours) {
    for ($hour = 0; $hour -lt $hours; $hour++) {
        Write-Progress -Activity "Ihr Arbeitsbeginn ist $($Arbeitsbeginn)" -Status "$($hours - $hour) Stunden verbleiben Ihnen $($Username)..." -PercentComplete ($hour * 100 / $hours)
        Start-Sleep -Seconds 1
    }
    Write-Host "DeInE ZeIt iSt aBgElAuFeN!!!"
}
$hours = 5
0..$hours |%{
  $percent = $_ * 100 / $hours; 
  Write-Progress -Activity "Ihr Arbeitsbeginn ist $($Arbeitsbeginn)" -Status "$($hours - $_) stunden verbleiben ihnen $($Username)..." -PercentComplete $percent; 
  if ($percent -lt 100) { #Pause nur wenn unter 100%
    Start-Sleep -Seconds 1
  }
}
Write-Host Hallo laberrhababer -fo blue
pause


Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Lukmon22 
Fragesteller
 01.03.2022, 14:23

danke sehr hilfreich! Könntest du dir auch meine neuste Frage anschauen?

0