<!-- 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, </p> <figure class="image"><img src="/capture.png"></figure> <p> </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 : </p> <pre><code class="language-plaintext">while (true) { <le menu avec des write-host> }</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> </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> </p>