Question Effacer write-progress

Plus d'informations
il y a 16 ans 5 mois #5385 par Lymnia
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.

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.

Plus d'informations
il y a 16 ans 5 mois #5388 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Effacer write-progress
Salut,
Lymnia écrit:

Si vous pouviez m'aider.

Ton code ne fonctionne pas :whistle:
Si tu ne proposes pas d'exemples d'utilisation, difficile de t'aider :huh:

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

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 5 mois #5389 par Lymnia
Réponse de Lymnia sur le sujet Re:Effacer write-progress
:laugh: 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 \&quot;erreur\&quot;

Ton exemple créé deux barres de progressions et les incrémentes.

Ok, la première apparait, se remplit puis disparait B)
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.:pinch:

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.

Plus d'informations
il y a 16 ans 5 mois #5390 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Effacer write-progress
Quelle version de PS utilises-tu ? Sous quel OS ?
Lymnia écrit:

Aurais tu une idée de pourquoi cela ne fonctionne pas chez moi.

Le fait de multiplier par 20 est là pour provoquer une erreur, logiquement traitée.
Que donne ce code sur ton poste :
[code:1]
for($i = 1; $i -lt 101; $i++ ) {write-progress Updating progress-&gt; -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.

Plus d'informations
il y a 16 ans 5 mois #5391 par Laurent Dardenne
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 \&quot;test\&quot; \&quot;Wait\&quot;;tt 1 ($_*2) $max \&quot;nested\&quot; \&quot;Wait++\&quot;;}#sleep -m 200}
1..10|% {tt 0 ($_*2) $max \&quot;test\&quot; \&quot;Wait\&quot;;tt 1 $_ $max \&quot;nested\&quot; \&quot;Wait++\&quot;;}#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.

Plus d'informations
il y a 16 ans 5 mois #5394 par Lymnia
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. :unsure:

Pour information dans les deux boucles, c'est le premier arrivé à 100 qui disparait.:lol:
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
Propulsé par Kunena