powershell - Powershell 循环执行
问题描述
我想执行我的脚本两次,但是当我启动它时,它会执行脚本 1 次。我认为错误在于do While
但我不知道为什么。
$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')#>
解决方案
请注意缩进和呈现代码的方式,这对您和其他阅读您的代码的人来说是基本的。在结束时while loop
有一个exit
所以它运行一次。我将它包含在 else 中:
$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)
推荐阅读
- c# - C# 提取 XML 段并插入 SQL
- optimization - 如何正确生成一个应该跳过一个数字的长流?
- list-comprehension - 从python中的嵌套列表中提取字典元素
- sql-server - 使用 ASP.NET Core 填充两个表数据
- angular - Stackblitz 向 JSONPlaceholder 发出 HTTP 请求,但不向 SWAPI
- jmeter - 是否可以为所有用户运行第一个采样器,然后在 Jmeter 中处理第二个采样器
- python - 我需要在最后一个位置打印不带逗号
- java - 如何访问 ViewPager 中布局整数中的 ImageView
- reactjs - 使用 React 或引擎模板创建多个布局应用程序
- jmeter - JMeter __RandomFromMultipleVars 不工作