<!--
title: Powershell
description: 
published: true
date: 2021-05-08T15:23:42.020Z
tags: 
editor: ckeditor
dateCreated: 2021-05-08T14:42:07.092Z
-->

<h1>Menu sous Powershell</h1>
<p>Pour faire un menu sous powershell,&nbsp;</p>
<figure class="image"><img src="/capture.png"></figure>
<p>&nbsp;</p>
<h2>Principe de fonctionnement</h2>
<p>Nous avons besoin de déclarer une variable qui va servir en quelque sorte de bouton “allumé” ou “éteins” : <code>$continue = $true</code></p>
<p>Avec cette variable j'utilise une boucle pour permettre de laisser en permanence l'affichage :&nbsp;</p>
<pre><code class="language-plaintext">while (true)
{
&lt;le menu avec des write-host&gt;
}</code></pre>
<p>Puis une seconde variable pour stocker mon choix avec<code> $choix = read-host “faire un choix”</code></p>
<p>Suivant l'état de ce choix le script sortira de la boucle <code>while </code>et cela provoquera soit une action du script soit une sortie du script avec switch ($choix).</p>
<p>Pour sortir du script si je fait le choix ‘<i>x</i>’ le script passe la variable <code>$continue</code> à <code>false</code> ce qui aura pour effet d'arrêter la boucle while.</p>
<p>&nbsp;</p>
<h2>Aperçu d'une construction de menu</h2>
<pre><code class="language-plaintext">$continue = $true
while (continue)
{
write-host “----------------------MON TITRE -----------------------”
write-host “1. mon action 1”
write-host "2. mon action2"
write-host"-------------------------------------------------------------------"
$choix = read-host “faire un choix”
switch ($choix)
{
{commande de mon action 1}
{commande de mon action 2} 
‘x’ {$continue= $false}
default {Write-Host "Choix invalide"-ForegroundColor Red}
}</code></pre>
<p>&nbsp;</p>