首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell循环Do While

Powershell循环Do While
EN

Stack Overflow用户
提问于 2021-03-04 11:49:18
回答 1查看 56关注 0票数 0

我想执行我的脚本两次,但当我启动它时,它执行脚本一次。我认为错误出在do While中,但我不知道为什么。

代码语言:javascript
复制
$EntrezN = Read-Host -Prompt "Entrez le nom de l'utilisateur que vous voulez créer"
$EntrezP = Read-Host -Prompt "Entrez le Prenom de l'utilisateur que vous voulez créer"
$EntrezT = Read-Host -Prompt "Entrez le Type de l'utilisateur que vous voulez créer "
$EntrezPro = Read-Host -Prompt "Entrez le Programme de l'utilisateur que vous voulez créer (optionel) "
$nomLenght = $EntrezN.length;
$PrenomLenght=$EntrezP.Length;
$nom = $EntrezN;
$Prenom=$EntrezP;
$type=$EntrezT;
$programme=$EntrezPRO
$NomUtilisateur=$nom+"."+$Prenom
$MDP=Get-Random -Minimum 10000000  -Maximum 99999999
$TableauUserName=@()

<#function AfficherMenu
{
    Clear-Host
    Write-Host "================ TP2 ================"
    Write-Host "1: Appuyer sur '1' pour Créer des Utilisateurs"
    Write-Host "Q: Press 'Q' to quit."
}#>


$a = 1 

DO

{if ($nomLenght -gt 25 -or $nom -lt 1 -or $PrenomLenght -gt 25 -or $PrenomLenght -lt 1)  { 
echo "Utilisateur Invalide"
exit
}
else{echo $NomUtilisateur
$TableauUserName += $NomUtilisateur
echo "Le tableau possède les elements suivants:" $TableauUserName
echo $MDP}

if( $type -eq "etudiant" -or $type -eq "Etudiant"  )  {
echo " type valide"
echo "le Type de l'utilisateur est :" $type
}elseif($type -eq "personnel" -or $type -eq "Personnel") {
echo "type valide"
echo "le Type de l'utilisateur est :" $type
}elseif($type -eq "enseignant" -or $type -eq "Enseignant") {
echo "type valide"
echo "le Type de l'utilisateur est :" $type
}else{
echo "type invalide"

exit
}

if( $programme -eq "Telecommunication" -or $programme -eq "telecommunication"  )  {
echo "Le programme est :" $programme
exit
}elseif($programme -eq "Gestion" -or $programme -eq "gestion") {
echo "Le programme est :" $programme
exit
}elseif($programme -eq "Informatique" -or $programme -eq "informatique") {
echo "Le programme est :" $programme}
exit
}

While ($a -le 2)

<#do
{
AfficherMenu
    $selection = Read-Host "Please choose an option"
    switch ($selection)
    {
        '1'
        {
            # ajouter la fonction ajouter users
        }
        
    }
    pause
}
until ($selection -eq 'q')#>
EN

回答 1

Stack Overflow用户

发布于 2021-03-04 12:55:26

注意你缩进和展示代码的方式这是 Be ,对你和其他阅读你代码的人来说都是如此。在while loop的末尾有一个exit,所以它只运行一次。我将其包含在else中:

代码语言:javascript
复制
$EntrezN = Read-Host -Prompt "Entrez le nom de l'utilisateur que vous voulez créer"
$EntrezP = Read-Host -Prompt "Entrez le Prenom de l'utilisateur que vous voulez créer"
$EntrezT = Read-Host -Prompt "Entrez le Type de l'utilisateur que vous voulez créer "
$EntrezPro = Read-Host -Prompt "Entrez le Programme de l'utilisateur que vous voulez créer (optionel) "
$nomLenght = $EntrezN.length;
$PrenomLenght=$EntrezP.Length;
$nom = $EntrezN;
$Prenom=$EntrezP;
$type=$EntrezT;
$programme=$EntrezPRO
$NomUtilisateur=$nom+"."+$Prenom
$MDP=Get-Random -Minimum 10000000  -Maximum 99999999
$TableauUserName=@()

$a = 1 

DO
{
  if ($nomLenght -gt 25 -or $nom -lt 1 -or $PrenomLenght -gt 25 -or $PrenomLenght -lt 1){ 
    echo "Utilisateur Invalide"
    exit
  }
  else{
    echo $NomUtilisateur
    $TableauUserName += $NomUtilisateur
    echo "Le tableau possède les elements suivants:" $TableauUserName
    echo $MDP
  }

  if( $type -eq "etudiant" -or $type -eq "Etudiant"  )  {
    echo " type valide"
    echo "le Type de l'utilisateur est :" $type
  }elseif($type -eq "personnel" -or $type -eq "Personnel") {
    echo "type valide"
    echo "le Type de l'utilisateur est :" $type
  }elseif($type -eq "enseignant" -or $type -eq "Enseignant") {
    echo "type valide"
    echo "le Type de l'utilisateur est :" $type
  }else{
    echo "type invalide"
   exit
  }

  if( $programme -eq "Telecommunication" -or $programme -eq "telecommunication"  )  {
    echo "Le programme est :" $programme
    exit
  }elseif($programme -eq "Gestion" -or $programme -eq "gestion") {
    echo "Le programme est :" $programme
    exit
  }elseif($programme -eq "Informatique" -or $programme -eq "informatique") {
    echo "Le programme est :" $programme
    exit
  }
} 
While ($a -le 2)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66468288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档