Wiki-Tech.io/Scripting/Powershell/Menu.html

46 lignes
2.3 KiB
HTML
Brut Annotations Historique

Ce fichier contient des caractères Unicode ambigus.

Ce fichier contient des caractères Unicode qui peuvent être confondus avec d'autres caractères. Si vous pensez que c'est intentionnel, vous pouvez ignorer cet avertissement. Utilisez le bouton Échappe pour les dévoiler.

<!--
title: PowerShell - Créer un menu
description: Ajouter un menu à ses projets
published: true
date: 2021-05-24T16:27:58.077Z
tags:
editor: ckeditor
dateCreated: 2021-05-24T16:25:40.687Z
-->
<figure class="image image_resized" style="width:43.31%;"><img src="https://www.seekpng.com/png/full/831-8318055_february-5-windows-powershell-logo.png" alt="February 5 @ - Windows Powershell Logo | Full Size PNG Download | SeekPNG"></figure>
<p>Voici un exemple de menu qu'il est possible de faire avec la méthode suivante :</p>
<figure class="image image_resized" style="width:57.85%;"><img src="/images/capture.png"></figure>
<h1>Principe de fonctionnement</h1>
<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 ($continue)
{
&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 <code>switch ($choix)</code>.</p>
<p>Le <code>switch</code> va permettre d'indexer les choix ,de les lister et d'exécuter les commandes.</p>
<p>Pour sortir du script si vous faites 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 <code>while</code>.</p>
<p>La commande <code>default</code> permet de renvoyer un message d'avertissement si vous rentrez un choix qui n'est pas dans le menu.</p>
<p>&nbsp;</p>
<h1>Exemple</h1>
<pre><code class="language-plaintext">$continue = $true
while ($continue){
write-host “----------------------MON TITRE -----------------------”
write-host “1. mon action 1”
write-host "2. mon action 2"
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}
}
}
</code></pre>
<p>&nbsp;</p>