Powershell – Question avec contrôle de valeur

Powershell – Question avec contrôle de valeur

Dans ce petit tuto, nous allons aborder un chose important lorsque nous faisons de la programmation, a savoir la question et le traitement d’information.

Dans notre exemple ici nous allons proposer quatre choix a notre utilisateur et nous allons traiter les réponses.

 

# Avant de débuter je vais créer un boucle While et nous verrons un peu plus bas pourquoi. Le –ne signifie « Not Equal »

while($validation -ne "O") {

 

# On propose ensuite le menu

Write-Host [1] - Installation OBS
Write-Host [2] - Configuration Steam
Write-Host [3] - Décompression ZIP
Write-Host [4] - Créer un document txt

# Ici nous affichons 4 choix possible.

# Je propose maintenant à l’exécutant de choisir une des quatre entrées

# Je stock cette valeur dans une Variable que j’appelle ici $Choix

$Choix = Read-Host "Faites votre choix ? 1 - 4 "

# La fonction Read-Host attendra que l’on saisisse une valeur correspondant à une des entrées

 

# Nous allons maintenant poser une nouvelle question qui aura pour but de confirmer le choix

# Ma variable $Choix possédera une valeur comprise entre 1 et 4. En fonction du choix de l’utilisateur.

# Dans un premier temps je vais faire une vérification de $Choix et je vais créer une nouvelle Variable intitulée $Confirme. Le –eq signifie « Equal »

 

#Pour faire ma Vérification j’utilise la fonction if  ( variable à tester –eq « valeur de la variable » ) { instruction }

if ($Choix -eq "1") { $Confirme = " Installation OBS" }
if ($Choix -eq "2") { $Confirme = " Configuration Steam" }
if ($Choix -eq "3") { $Confirme = " Décompression ZIP" }
if ($Choix -eq "4") { $Confirme = " Créer un document txt" }

#Nous avons maintenant donnée une valeur à notre variable $Confirme  

#Je crée une variable $validation qui auras pour but définitif de valider la commande

#Cette variable correspondra à une question poser pour vérifier que l’utilisateur confirme sa sélection.

$validation = Read-Host "Vous avez choisi $Confirme [O/N]" }

 

#Voilà ici c’est la fin de notre boucle While, si vous regardez bien la condition de while si l’utilisateur fait autre chose que « o » ou « O » cela renvoi au tout début de script et repose les questions. Si par contre il dit « O » ou « o » alors le script se déroule normalement et passe en dessous.

#Maintenant en fonction du choix je passe directement au déroulement de mon script en sautant a la bonne fonction. Pour se faire j’utiliserai la fonction SWITCH (variable) {instruction}

switch ( $Choix ){
1 { $Action = 'OBS' }
2 { $Action = 'Steam' }
3 { $Action = 'Unzip' }
4 { $Action = 'AddTXT' }
}

 

#Comme nous avons vu précédemment la variable $Choix est un chiffre entre 1 et 4. ma nouvelle variable $Action permet de sauter directement à la bonne partie du code à exécuter.

If ( $Action –eq "1" ) { Je déroule le script du choix 1 et je termine mon script par la fonction de sortie exit}
If ( $Action –eq "2" ) { Je déroule le script du choix 2 et je termine mon script par la fonction de sortie exit}
If ( $Action –eq "3" ) { Je déroule le script du choix 3 et je termine mon script par la fonction de sortie exit}
If ( $Action –eq "4" ) { Je déroule le script du choix 4 et je termine mon script par la fonction de sortie exit}

 

Vous savez maintenant comment poser une question, traiter le choix, demander une confirmation et passer directement à la bonne partie de votre code en fonction du choix.

Pour que vous puissiez jouer avec voici le code au complet.

 

while($validation -ne "O")
{
cls
Write-Host ""
Write-Host [1] - Installation OBS
Write-Host [2] - Configuration Steam
Write-Host [3] - Décompression ZIP
Write-Host [4] - Créer un document txt
Write-Host ""


$Choix = Read-Host "Faites votre choix ? 1 - 4 "
if ($Choix -eq "1") { $Confirme = " Installation OBS" }
if ($Choix -eq "2") { $Confirme = " Configuration Steam" }
if ($Choix -eq "3") { $Confirme = " Décompression ZIP" }
if ($Choix -eq "4") { $Confirme = " Créer un document txt" }


Write-Host ""
$validation = Read-Host "Vous avez choisi $Confirme [O/N]"
}

switch ( $Choix )
{
1 { $Action = 'OBS' }
2 { $Action = 'Steam' }
3 { $Action = 'Unzip' }
4 { $Action = 'AddTXT' }
}


If ( $Action –eq "1" )
{
Write-host "Script pour installation OBS"
exit
}
If ( $Action –eq "2" )
{
Write-host "Script pour la configuration de Steam"
exit
}
If ( $Action –eq "3" )
{
Write-host "Script pour decompresser avec 7Zip"
exit
}
If ( $Action –eq "4" )
{
Write-host "Script pour créer un document Txt"
exit
}

Voila qui conclu notre petit tuto, j »espère que cela vous a intéressé et on se retrouve très bientôt.

Enjoy

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *