Question
[RESOLU]Test de valeur
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
il y a 14 ans 3 mois #11075
par LEON
[RESOLU]Test de valeur a été créé par LEON
Bonjour,
Je souhaite tester une valeur avec trois cas possible:
Valeur > à 95
Valeur > à 80 mais inférieur à 95
Et sinon valeur est OK
[code:1]
$Percent -ge \"80\" -and -lt \"95\"
[/code:1]
Ce code ne fonctionne pas bien sur
.
Avez vous une idée?
Merci d'avance<br><br>Message édité par: Showtime, à: 9/02/12 09:25
Je souhaite tester une valeur avec trois cas possible:
Valeur > à 95
Valeur > à 80 mais inférieur à 95
Et sinon valeur est OK
[code:1]
$Percent -ge \"80\" -and -lt \"95\"
[/code:1]
Ce code ne fonctionne pas bien sur
Avez vous une idée?
Merci d'avance<br><br>Message édité par: Showtime, à: 9/02/12 09:25
Connexion ou Créer un compte pour participer à la conversation.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
il y a 14 ans 3 mois #11077
par LEON
Réponse de LEON sur le sujet Re:Test de valeur
Je viens d'avancer un peu:
[code:1]
if ($valeur -ge \"40\"«»)
{
if($valeur -ge \"60\"«»)
{
Write-Host \"60\"
break
}
Write-Host \"40\"
}
else
{
Write-Host \"OK\"
}
return $valeur
[/code:1]
Maintenant j'ai un autre soucis. Si ma valeur est entre 40 et 59, ca me répond 40 puis ma valeur.
Par conter, Si ma valeur est par exemple de 70, ca m'affiche 60 mais pas la valeur. J'ai essayer avec return, puis break, mais la je suis bloqué
.
Help plz
[code:1]
if ($valeur -ge \"40\"«»)
{
if($valeur -ge \"60\"«»)
{
Write-Host \"60\"
break
}
Write-Host \"40\"
}
else
{
Write-Host \"OK\"
}
return $valeur
[/code:1]
Maintenant j'ai un autre soucis. Si ma valeur est entre 40 et 59, ca me répond 40 puis ma valeur.
Par conter, Si ma valeur est par exemple de 70, ca m'affiche 60 mais pas la valeur. J'ai essayer avec return, puis break, mais la je suis bloqué
Help plz
Connexion ou Créer un compte pour participer à la conversation.
- Gaga
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 14 ans 3 mois #11079
par Gaga
Réponse de Gaga sur le sujet Re:Test de valeur
Salut !
Ci-dessous une fonction qui te retourne la criticité de ton pourcentage en fonction de tes critères. C'est à améliorer, je l'ai fait rapidement. Rajoute des contrôles, des seuils, des nouvelles valeurs ...etc...
[code:1]Function get_seuil
{
param ( [int]$pourcentage )
if ($pourcentage -ge 95) { return \"critique\" }
if (($pourcentage -ge 80) -and ($pourcentage -lt 95)) { return \"danger\"}
if (($pourcentage -ge 0) -and ($pourcentage -lt 80)) { return \"OK\" }
return \"probleme !!\"
}[/code:1]
[code:1]>get_seuil -pourcentage 89
danger
>get_seuil -pourcentage 95
critique
>get_seuil -pourcentage 50
OK[/code:1]
Valeur > à 95
Valeur > à 80 mais inférieur à 95
Et sinon valeur est OK
Ci-dessous une fonction qui te retourne la criticité de ton pourcentage en fonction de tes critères. C'est à améliorer, je l'ai fait rapidement. Rajoute des contrôles, des seuils, des nouvelles valeurs ...etc...
[code:1]Function get_seuil
{
param ( [int]$pourcentage )
if ($pourcentage -ge 95) { return \"critique\" }
if (($pourcentage -ge 80) -and ($pourcentage -lt 95)) { return \"danger\"}
if (($pourcentage -ge 0) -and ($pourcentage -lt 80)) { return \"OK\" }
return \"probleme !!\"
}[/code:1]
[code:1]>get_seuil -pourcentage 89
danger
>get_seuil -pourcentage 95
critique
>get_seuil -pourcentage 50
OK[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
il y a 14 ans 3 mois #11080
par LEON
Réponse de LEON sur le sujet Re:Test de valeur
merci GaGA, j'avais pas pensé à séparer ma ligne de commande en deux partie.
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 14 ans 3 mois #11101
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Test de valeur
Quelques améliorations, la première sur le type de l'argument, un byte ne peut être négatif, et la seconde sur la validité des valeurs que l'on peut contrôler à l'aide d'un attribut :
[code:1]
Function Get-NiveauSeuil
{
param (
[ValidateRange(0,100)]
[byte]$pourcentage )
if ($pourcentage -ge 95)
{ return \"critique\" }
if (($pourcentage -ge 80) -and ($pourcentage -lt 95))
{ return \"danger\"}
if (($pourcentage -ge 0) -and ($pourcentage -lt 80))
{ return $true }
}
[/code:1]
On peut aussi écrire les tests à l'aide d'étendue, approche peut-être moins performante, mais plus lisible :
[code:1]
Function Get-NiveauSeuil
{
param (
[ValidateRange(0,100)]
[byte]$pourcentage
)
Switch ($pourcentage)
{
{$_ -ge 95} { return \"critique\";break }
{80..94 -contains $_} { return \"danger\";break}
{0..79 -contains $_} { write-warning $switch.current;return \"Ok\"}
}
}#Get-NiveauSeuil
[/code:1]
$switch.current permet d'obtenir la valeur reçue via la variable $pourcentage.
Et dernière possibilité, utiliser des énumérations pour la valeur de retour, un peu plus verbeux, mais facilite la maintenance :
[code:1]
$myEnums=@{}
$myEnums.NiveauSeuil=@(\"Normal\",\"Critique\",\"Danger\"«»)
New-Enum $myEnums
Function Get-NiveauSeuil
{
param (
[ValidateRange(0,100)]
[byte]$pourcentage
)
Switch ($pourcentage)
{
{95..100 -contains $_} { return [NiveauSeuil]::Critique;break }
{80..94 -contains $_} { return [NiveauSeuil]::«»Danger;break}
{0..79 -contains $_} { return [NiveauSeuil]::Normal}
}
}#Get-NiveauSeuil
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 12/02/12 13:14
[code:1]
Function Get-NiveauSeuil
{
param (
[ValidateRange(0,100)]
[byte]$pourcentage )
if ($pourcentage -ge 95)
{ return \"critique\" }
if (($pourcentage -ge 80) -and ($pourcentage -lt 95))
{ return \"danger\"}
if (($pourcentage -ge 0) -and ($pourcentage -lt 80))
{ return $true }
}
[/code:1]
On peut aussi écrire les tests à l'aide d'étendue, approche peut-être moins performante, mais plus lisible :
[code:1]
Function Get-NiveauSeuil
{
param (
[ValidateRange(0,100)]
[byte]$pourcentage
)
Switch ($pourcentage)
{
{$_ -ge 95} { return \"critique\";break }
{80..94 -contains $_} { return \"danger\";break}
{0..79 -contains $_} { write-warning $switch.current;return \"Ok\"}
}
}#Get-NiveauSeuil
[/code:1]
$switch.current permet d'obtenir la valeur reçue via la variable $pourcentage.
Et dernière possibilité, utiliser des énumérations pour la valeur de retour, un peu plus verbeux, mais facilite la maintenance :
[code:1]
$myEnums=@{}
$myEnums.NiveauSeuil=@(\"Normal\",\"Critique\",\"Danger\"«»)
New-Enum $myEnums
Function Get-NiveauSeuil
{
param (
[ValidateRange(0,100)]
[byte]$pourcentage
)
Switch ($pourcentage)
{
{95..100 -contains $_} { return [NiveauSeuil]::Critique;break }
{80..94 -contains $_} { return [NiveauSeuil]::«»Danger;break}
{0..79 -contains $_} { return [NiveauSeuil]::Normal}
}
}#Get-NiveauSeuil
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 12/02/12 13:14
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.047 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [RESOLU]Test de valeur