Question
Faire une boucle d'attente
- Gabriel
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 58
- Remerciements reçus 0
il y a 2 ans 4 mois #31518
par Gabriel
Faire une boucle d'attente a été créé par Gabriel
Bonjour,
J'ai un problème simple, Faire une boucle d'attente d'environ 1h. Cela nécessite l'utilisation de montres et de dates pleins de pièges.
Je pars de la date de départ, obtenue par get-date et veut sortir de la boucle après un délai donné.disons 60 minutes.
J'ai imaginé que je peux définir une date de fin en ajoutant la durée de la boucle (60 minutes) à la date de départ. Puis boucler sur un start-sleep de par exemple 5 minutes jusqu'à ce que la date soit supérieure à la date de fin.
Il faut donc pouvoir comparer des différences de dates au délai de boucle. Et là j'ai du mal parce que 60 minutes ce n'est pas une date, mais un "TimeSpan". Une solution serait de tout convertir en ticks. Est-ce la meilleure ?
gabier
J'ai un problème simple, Faire une boucle d'attente d'environ 1h. Cela nécessite l'utilisation de montres et de dates pleins de pièges.
Je pars de la date de départ, obtenue par get-date et veut sortir de la boucle après un délai donné.disons 60 minutes.
J'ai imaginé que je peux définir une date de fin en ajoutant la durée de la boucle (60 minutes) à la date de départ. Puis boucler sur un start-sleep de par exemple 5 minutes jusqu'à ce que la date soit supérieure à la date de fin.
Il faut donc pouvoir comparer des différences de dates au délai de boucle. Et là j'ai du mal parce que 60 minutes ce n'est pas une date, mais un "TimeSpan". Une solution serait de tout convertir en ticks. Est-ce la meilleure ?
gabier
Connexion ou Créer un compte pour participer à la conversation.
- PatriceLT
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 98
- Remerciements reçus 2
il y a 2 ans 4 mois #31519
par PatriceLT
Réponse de PatriceLT sur le sujet Faire une boucle d'attente
Hello,
Après une petite recherche, j'ai trouvé ça, je pense que c'est un début :
www.it-swarm-fr.com/fr/datetime/dans-pow...eure-unix/970355299/
Cela te permet de mettre une date de début et de fin, via un New-TimeSpan, et de le convertir en secondes ou autre.
Ensuite une boucle suffit avec le résultat de cette commande, voir un Start-Sleep du résultat du New-TimeSpan.
Je n'ai pas pu tester, mais cela me semble cohérent.
Après une petite recherche, j'ai trouvé ça, je pense que c'est un début :
www.it-swarm-fr.com/fr/datetime/dans-pow...eure-unix/970355299/
Cela te permet de mettre une date de début et de fin, via un New-TimeSpan, et de le convertir en secondes ou autre.
Ensuite une boucle suffit avec le résultat de cette commande, voir un Start-Sleep du résultat du New-TimeSpan.
Je n'ai pas pu tester, mais cela me semble cohérent.
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 58
- Remerciements reçus 0
il y a 2 ans 4 mois #31520
par Gabriel
Réponse de Gabriel sur le sujet Faire une boucle d'attente
Bonjour Patrice,
Merci pour l'info. J'ai fait ma boucle et elle fonctionne. Je l'ai agrémentée d'un suivi de progression toutes les 5 mn. J'ai trouvé plus sûr de manipuler mes dates en Ticks (pour les additions et soustractions)
gabier
Merci pour l'info. J'ai fait ma boucle et elle fonctionne. Je l'ai agrémentée d'un suivi de progression toutes les 5 mn. J'ai trouvé plus sûr de manipuler mes dates en Ticks (pour les additions et soustractions)
$Delay=60
$ts=(new-timespan -minutes $Delay).Ticks
$DateDebTicks=(get-date).Ticks
$DateFinTicks=((Get-date).AddTicks($ts)).Ticks
Do
{
Start-Sleep -s 300
$DatecourTicks=(get-date).Ticks
$Done=($DateCourTicks-$DateDebTicks)/($DateFinTicks - $DateDebTicks)
write-output "$(get-date) Done = $Done"
}while ($DateCourTicks -le $DateFinTicks)
gabier
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.065 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Faire une boucle d'attente