Question
Effacer write-progress
- Lymnia
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 16 ans 5 mois #5385
par Lymnia
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Effacer write-progress a été créé par Lymnia
Bonjour.
J'ai un petit effet bizarre avec des Write-Progress.
J'ai fait une petite fonction qui gère normalement l'avancement et la visibilité de mes barres de progressions
fonction que voici : [code:1]function tt($IDID, $progress, $name)
{
write-progress $name progress -perc $progress -id $IDID
if($progress -ge 100)
{
write-progress $name progress cid $IDID -completed
}
}[/code:1]
Mon problème réside dans la \"suppression\" de mes barres de progression.
Si je créé deux barres, seule la première disparait en passant à 100 %.
Si vous pouviez m'aider.
Cordialement.
J'ai un petit effet bizarre avec des Write-Progress.
J'ai fait une petite fonction qui gère normalement l'avancement et la visibilité de mes barres de progressions
fonction que voici : [code:1]function tt($IDID, $progress, $name)
{
write-progress $name progress -perc $progress -id $IDID
if($progress -ge 100)
{
write-progress $name progress cid $IDID -completed
}
}[/code:1]
Mon problème réside dans la \"suppression\" de mes barres de progression.
Si je créé deux barres, seule la première disparait en passant à 100 %.
Si vous pouviez m'aider.
Cordialement.
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 5 mois #5388
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Effacer write-progress
Salut,
Lymnia écrit:
Si tu ne proposes pas d'exemples d'utilisation, difficile de t'aider
Bref, en reprenant ton code :
[code:1]
function tt($IDID, $progress, $name,$status)
{
if($progress -ge 100)
{ write-progress $name -id $IDID -completed -status $status }
else
{ write-progress $name -perc $progress -id $IDID -status $status }
}
[/code:1]
Cet exemple fonctionne :
[code:1]
1..10|% {tt 1 (10*$_) \"test\" \"Wait\";tt 2 (20*$_) \"nested\" \"Wait++\";sleep -m 200}
[/code:1]
Pas celui-ci :
[code:1]
1..10|% {tt 1 (10*$_) \"test\" \"Wait\";tt 1 (20*$_) \"nested\" \"Wait++\";sleep -m 200}
#ni celui là
1..10|% {tt 2 (10*$_) \"test\" \"Wait\";tt 1 (20*$_) \"nested\" \"Wait++\";sleep -m 200}
[/code:1]
Je te laisse la déduction
<br><br>Message édité par: Laurent Dardenne, à: 1/10/09 15:50
Lymnia écrit:
Ton code ne fonctionne pasSi vous pouviez m'aider.
Si tu ne proposes pas d'exemples d'utilisation, difficile de t'aider
Bref, en reprenant ton code :
[code:1]
function tt($IDID, $progress, $name,$status)
{
if($progress -ge 100)
{ write-progress $name -id $IDID -completed -status $status }
else
{ write-progress $name -perc $progress -id $IDID -status $status }
}
[/code:1]
Cet exemple fonctionne :
[code:1]
1..10|% {tt 1 (10*$_) \"test\" \"Wait\";tt 2 (20*$_) \"nested\" \"Wait++\";sleep -m 200}
[/code:1]
Pas celui-ci :
[code:1]
1..10|% {tt 1 (10*$_) \"test\" \"Wait\";tt 1 (20*$_) \"nested\" \"Wait++\";sleep -m 200}
#ni celui là
1..10|% {tt 2 (10*$_) \"test\" \"Wait\";tt 1 (20*$_) \"nested\" \"Wait++\";sleep -m 200}
[/code:1]
Je te laisse la déduction
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Lymnia
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 16 ans 5 mois #5389
par Lymnia
euh, en fait ton exemple ne marche pas non plus chez moi.
Dans ton premier exemple celui qui chez toi doit marcher, j'ai encore une \"erreur\"
Ton exemple créé deux barres de progressions et les incrémentes.
Ok, la première apparait, se remplit puis disparait
la seconde apparait et se remplit bien jusqu'à la dernière incrémentation qui ne passe pas.
Le script continu quand à lui et la barre reste figée.
Aurais tu une idée de pourquoi cela ne fonctionne pas chez moi.
Pour moi ce qui marche pas c'est le -completed qui saute sur la deuxième barre.
merci d'avance.
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Réponse de Lymnia sur le sujet Re:Effacer write-progress
Dans ton premier exemple celui qui chez toi doit marcher, j'ai encore une \"erreur\"
Ton exemple créé deux barres de progressions et les incrémentes.
Ok, la première apparait, se remplit puis disparait
la seconde apparait et se remplit bien jusqu'à la dernière incrémentation qui ne passe pas.
Le script continu quand à lui et la barre reste figée.
Aurais tu une idée de pourquoi cela ne fonctionne pas chez moi.
Pour moi ce qui marche pas c'est le -completed qui saute sur la deuxième barre.
merci d'avance.
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 5 mois #5390
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Effacer write-progress
Quelle version de PS utilises-tu ? Sous quel OS ?
Lymnia écrit:
Que donne ce code sur ton poste :
[code:1]
for($i = 1; $i -lt 101; $i++ ) {write-progress Updating progress-> -perc $i} for($i = 1; $i -lt 101; $i++ ) { write-progress Updating progress -percentcomplete $i -id 1;sleep -m 50}
[/code:1]
Lymnia écrit:
Le fait de multiplier par 20 est là pour provoquer une erreur, logiquement traitée.Aurais tu une idée de pourquoi cela ne fonctionne pas chez moi.
Que donne ce code sur ton poste :
[code:1]
for($i = 1; $i -lt 101; $i++ ) {write-progress Updating progress-> -perc $i} for($i = 1; $i -lt 101; $i++ ) { write-progress Updating progress -percentcomplete $i -id 1;sleep -m 50}
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 5 mois #5391
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Effacer write-progress
Essaie ceci :
[code:1]
function tt($ID, $progress, $max, $name,$status)
{
$percent=($progress /$max)*100
if($percent -le 100)
{
write-progress $name -perc $percent -id $ID -status $status
if ($percent -eq 100 )
{ pause;
write-progress $name -id $ID -completed -status $status
}
}
}
[/code:1]
Deux tests :
[code:1]
$max=10
1..10|% {tt 0 $_ $max \"test\" \"Wait\";tt 1 ($_*2) $max \"nested\" \"Wait++\";}#sleep -m 200}
1..10|% {tt 0 ($_*2) $max \"test\" \"Wait\";tt 1 $_ $max \"nested\" \"Wait++\";}#sleep -m 200}
[/code:1]
Dans le code d'origine tu références un pourcentage, mais je l'utilisais en lui passant en entier.
[code:1]
function tt($ID, $progress, $max, $name,$status)
{
$percent=($progress /$max)*100
if($percent -le 100)
{
write-progress $name -perc $percent -id $ID -status $status
if ($percent -eq 100 )
{ pause;
write-progress $name -id $ID -completed -status $status
}
}
}
[/code:1]
Deux tests :
[code:1]
$max=10
1..10|% {tt 0 $_ $max \"test\" \"Wait\";tt 1 ($_*2) $max \"nested\" \"Wait++\";}#sleep -m 200}
1..10|% {tt 0 ($_*2) $max \"test\" \"Wait\";tt 1 $_ $max \"nested\" \"Wait++\";}#sleep -m 200}
[/code:1]
Dans le code d'origine tu références un pourcentage, mais je l'utilisais en lui passant en entier.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Lymnia
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 16 ans 5 mois #5394
par Lymnia
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Réponse de Lymnia sur le sujet Re:Effacer write-progress
Mon OS : XP service pack 2
PorwerShell: V1.0
Le script ne marche pas non plus.
Je vais devoir tricher et utiliser toujours la même barre de progression.
Pour information dans les deux boucles, c'est le premier arrivé à 100 qui disparait.
Pourquoi id 0 ne disparait pas dans la première boucle mais disparait dans la seconde boucle.
En fait, je viens de remarquer que la barre de progression remplace celle qui reste à chaque fois.
il n'y a pas un empilement qui se créé. il y a toujours deux ou une barre de progression.
cordialement.
PorwerShell: V1.0
Le script ne marche pas non plus.
Je vais devoir tricher et utiliser toujours la même barre de progression.
Pour information dans les deux boucles, c'est le premier arrivé à 100 qui disparait.
Pourquoi id 0 ne disparait pas dans la première boucle mais disparait dans la seconde boucle.
En fait, je viens de remarquer que la barre de progression remplace celle qui reste à chaque fois.
il n'y a pas un empilement qui se créé. il y a toujours deux ou une barre de progression.
cordialement.
Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Effacer write-progress