Menu sous Powershell

Voici un exemple de menu qu'il est possible de faire avec la méthode suivante :

 

Principe de fonctionnement

Nous avons besoin de déclarer une variable qui va servir en quelque sorte de bouton “allumé” ou “éteins” : $continue = $true

Avec cette variable j'utilise une boucle pour permettre de laisser en permanence l'affichage : 

while (true){
	<le menu avec des write-host>
}

Puis une seconde variable pour stocker mon choix avec $choix = read-host “faire un choix”

Suivant l'état de ce choix le script sortira de la boucle while et cela provoquera soit une action du script soit une sortie du script avec switch ($choix).

Pour sortir du script si je fait le choix ‘x’ le script passe la variable $continue à false ce qui aura pour effet d'arrêter la boucle while.

la commande default permet de renvoyer un message d'avertissement si je rentre un choix qui n'est pas dans le menu.

 

Exemple

$continue = $true
while (continue){
	write-host “----------------------MON TITRE -----------------------”
	write-host “1. mon action 1”
	write-host "2. mon action2"
	write-host "x. exit"
	write-host"-------------------------------------------------------------------"
	$choix = read-host “faire un choix :”
	switch ($choix){
		1{commande de mon action 1}
		2{commande de mon action 2} 
		‘x’ {$continue= $false}
		default {Write-Host "Choix invalide"-ForegroundColor Red}
	}
}