Project

General

Profile

Skip-While

function Skip-While()

Ignore des éléments dans une séquence tant que la condition spécifiée a la valeur true, puis retourne les éléments restants.
 
Dans l'exemple suivant Skip-While permet de sélectionner le texte à afficher à partir d'une certaine ligne.
On affiche la documentation, placée en fin de fichier, concernant les paramètres dynamiques des providers :
Get-PSProvider|
 Foreach {
   Write-Host "`r`nProvider: $($_.Name)" 
   (get-help $_.Name -Category Provider|out-String).split("`r`n",[StringSplitOptions]::RemoveEmptyEntries)|
    Skip-While  {$_ -notmatch "^PARAMÈTRES DYNAMIQUES$"} 
 }

Pour récupérer un extrait de la documentation limité par deux bornes, on combinera les opérateurs Skip-While et Take-While :
Get-PSProvider|
 Foreach {
   Write-Host "`r`nProvider: $($_.Name)" 
   (get-help $_.Name -Category Provider|out-String).split("`r`n",[StringSplitOptions]::RemoveEmptyEntries)|

    Skip-While  {$_ -notmatch "^TÂCHES$"}| 
    Take-While  {$_ -notmatch "^PARAMÈTRES DYNAMIQUES$"}
 }


Voir Take-While